Skip to content

Commit 2f87fdf

Browse files
authored
sidebar backdrop (#266)
1 parent b650996 commit 2f87fdf

File tree

18 files changed

+43
-6
lines changed

18 files changed

+43
-6
lines changed

public/style.css

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ body {
116116
font: 14px var(--sans-serif);
117117
font-weight: 500;
118118
width: 240px;
119-
z-index: 1;
119+
z-index: 2;
120120
top: 0;
121121
bottom: 0;
122122
left: calc(-240px - 2rem);
@@ -199,7 +199,7 @@ body {
199199
margin: 0;
200200
padding: 2px;
201201
cursor: pointer;
202-
z-index: 2;
202+
z-index: 3;
203203
background: none;
204204
color: var(--theme-foreground-muted);
205205
font-weight: 700;
@@ -296,7 +296,7 @@ a[href],
296296
color: var(--theme-foreground-focus);
297297
}
298298

299-
#observablehq-sidebar-toggle:checked + #observablehq-sidebar {
299+
#observablehq-sidebar-toggle:checked ~ #observablehq-sidebar {
300300
left: 0;
301301
box-shadow: 0 0 8px 4px rgba(0, 0, 0, 0.1);
302302
}
@@ -305,8 +305,22 @@ a[href],
305305
transition: left 150ms ease;
306306
}
307307

308+
#observablehq-sidebar-backdrop {
309+
display: none;
310+
position: fixed;
311+
top: 0;
312+
right: 0;
313+
bottom: 0;
314+
left: 0;
315+
z-index: 2;
316+
}
317+
318+
#observablehq-sidebar-toggle:checked ~ #observablehq-sidebar-backdrop {
319+
display: initial;
320+
}
321+
308322
@media (prefers-color-scheme: dark) {
309-
#observablehq-sidebar-toggle:checked + #observablehq-sidebar {
323+
#observablehq-sidebar-toggle:checked ~ #observablehq-sidebar {
310324
box-shadow: 0 0 8px 4px rgba(0, 0, 0, 0.5);
311325
}
312326
}
@@ -318,8 +332,11 @@ a[href],
318332
#observablehq-sidebar-toggle:indeterminate::before {
319333
content: "⟨";
320334
}
321-
#observablehq-sidebar-toggle:checked + #observablehq-sidebar,
322-
#observablehq-sidebar-toggle:indeterminate + #observablehq-sidebar {
335+
#observablehq-sidebar-backdrop {
336+
display: none;
337+
}
338+
#observablehq-sidebar-toggle:checked ~ #observablehq-sidebar,
339+
#observablehq-sidebar-toggle:indeterminate ~ #observablehq-sidebar {
323340
left: 0;
324341
box-shadow: none;
325342
}
@@ -328,6 +345,9 @@ a[href],
328345
padding-left: calc(240px + 3rem);
329346
padding-right: 1rem;
330347
}
348+
#observablehq-sidebar-toggle:checked ~ #observablehq-sidebar-backdrop {
349+
display: none;
350+
}
331351
pre {
332352
border-radius: 4px;
333353
}

src/render.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ ${renderFooter(path, options)}
8888

8989
function renderSidebar(title = "Home", pages: (Page | Section)[], path: string): Html {
9090
return html`<input id="observablehq-sidebar-toggle" type="checkbox">
91+
<label id="observablehq-sidebar-backdrop" for="observablehq-sidebar-toggle"></label>
9192
<nav id="observablehq-sidebar">
9293
<ol>
9394
<li class="observablehq-link${path === "/index" ? " observablehq-link-active" : ""}"><a href="${relativeUrl(

test/output/build/archives/tar.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848

4949
</script>
5050
<input id="observablehq-sidebar-toggle" type="checkbox">
51+
<label id="observablehq-sidebar-backdrop" for="observablehq-sidebar-toggle"></label>
5152
<nav id="observablehq-sidebar">
5253
<ol>
5354
<li class="observablehq-link"><a href="./">Home</a></li>

test/output/build/archives/zip.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636

3737
</script>
3838
<input id="observablehq-sidebar-toggle" type="checkbox">
39+
<label id="observablehq-sidebar-backdrop" for="observablehq-sidebar-toggle"></label>
3940
<nav id="observablehq-sidebar">
4041
<ol>
4142
<li class="observablehq-link"><a href="./">Home</a></li>

test/output/build/config/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
</script>
1515
<input id="observablehq-sidebar-toggle" type="checkbox">
16+
<label id="observablehq-sidebar-backdrop" for="observablehq-sidebar-toggle"></label>
1617
<nav id="observablehq-sidebar">
1718
<ol>
1819
<li class="observablehq-link observablehq-link-active"><a href="./">Home</a></li>

test/output/build/config/one.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
</script>
1515
<input id="observablehq-sidebar-toggle" type="checkbox">
16+
<label id="observablehq-sidebar-backdrop" for="observablehq-sidebar-toggle"></label>
1617
<nav id="observablehq-sidebar">
1718
<ol>
1819
<li class="observablehq-link"><a href="./">Home</a></li>

test/output/build/config/sub/two.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
</script>
1515
<input id="observablehq-sidebar-toggle" type="checkbox">
16+
<label id="observablehq-sidebar-backdrop" for="observablehq-sidebar-toggle"></label>
1617
<nav id="observablehq-sidebar">
1718
<ol>
1819
<li class="observablehq-link"><a href="../">Home</a></li>

test/output/build/config/toc-override.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
</script>
1515
<input id="observablehq-sidebar-toggle" type="checkbox">
16+
<label id="observablehq-sidebar-backdrop" for="observablehq-sidebar-toggle"></label>
1617
<nav id="observablehq-sidebar">
1718
<ol>
1819
<li class="observablehq-link"><a href="./">Home</a></li>

test/output/build/config/toc.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
</script>
1515
<input id="observablehq-sidebar-toggle" type="checkbox">
16+
<label id="observablehq-sidebar-backdrop" for="observablehq-sidebar-toggle"></label>
1617
<nav id="observablehq-sidebar">
1718
<ol>
1819
<li class="observablehq-link"><a href="./">Home</a></li>

test/output/build/files/files.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
</script>
3434
<input id="observablehq-sidebar-toggle" type="checkbox">
35+
<label id="observablehq-sidebar-backdrop" for="observablehq-sidebar-toggle"></label>
3536
<nav id="observablehq-sidebar">
3637
<ol>
3738
<li class="observablehq-link"><a href="./">Home</a></li>

0 commit comments

Comments
 (0)