diff --git a/beta/assets/default.css b/beta/assets/default.css index d234e628..6a3d4d7c 100644 --- a/beta/assets/default.css +++ b/beta/assets/default.css @@ -80,7 +80,7 @@ BDO[DIR="rtl"] { direction: rtl; unicode-bidi: bidi-override } /* END: https://www.w3.org/TR/CSS22/ */ @media not screen { - header select.documentBranch, nav, .headerlink { + header select.documentBranch, nav, .navButtonContainer, .headerlink { display: none; } diff --git a/beta/assets/narrow-menu.js b/beta/assets/narrow-menu.js new file mode 100644 index 00000000..72de6834 --- /dev/null +++ b/beta/assets/narrow-menu.js @@ -0,0 +1,15 @@ +window.addEventListener("load", function() { + document.querySelector("button[data-name=nav-open]").addEventListener("click", function() { + document.documentElement.classList.add("nav-opened"); + }); + document.querySelector("button[data-name=nav-close]").addEventListener("click", function() { + document.documentElement.classList.remove("nav-opened"); + }); + for (let link of document.querySelectorAll("nav a")) { + link.addEventListener("click", function() { + if (link.parentElement.classList.contains("active") || link.parentElement.classList.contains("level4")) { + document.documentElement.classList.remove("nav-opened"); + } + }); + } +}); diff --git a/beta/assets/screen-narrow.css b/beta/assets/screen-narrow.css new file mode 100644 index 00000000..7f8b1863 --- /dev/null +++ b/beta/assets/screen-narrow.css @@ -0,0 +1,76 @@ +.documentContainer { + width: 100%; +} + +header .logoContainer { + padding: 2em 10px; + background-position: 50%; + min-height: 320px; + text-align: center; +} + +header .logoContainer, header select.documentBranch { + text-shadow: 0 0 3px #050a02, 0 0 3px #050a02; +} + +header .logoContainer, header ul, main { + max-width: initial; +} + +nav { + position: fixed; + width: 0; + height: 100vh; + top: 0; + left: 0; + background-color: #E4E9F6; + z-index: 1; + scrollbar-width: initial; + transition: width ease .2s; + max-height: initial !important; +} + +html.nav-opened { + overflow: hidden; +} + +.nav-opened nav { + width: 100vw; +} + +nav::-webkit-scrollbar { + display: initial; +} + +main, .navContainer { + position: relative; +} + +.navButtonContainer { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + display: flex; + align-items: start; + justify-content: end; + pointer-events: none; +} + +.navButtonContainer button { + background: #a40000; + color: white; + border: none; + font-size: 1em; + font-weight: normal; + font-family: sans-serif; + cursor: pointer; + padding: 10px; + top: 10px; + position: sticky; + margin: 10px; + z-index: 1; + border-radius: 3px; + pointer-events: initial; +} diff --git a/beta/assets/screen-noscript.css b/beta/assets/screen-noscript.css index aa3d6b10..e17be4b2 100644 --- a/beta/assets/screen-noscript.css +++ b/beta/assets/screen-noscript.css @@ -25,3 +25,13 @@ nav .level4 { nav .level4 > a::after { display: none !important; } + +@media screen and (max-width: 50em) { + nav, .navButtonContainer { + display: none; + } + + html.nav-opened { + overflow: initial; + } +} diff --git a/beta/assets/screen.css b/beta/assets/screen.css index a9a71e5b..b831d92a 100644 --- a/beta/assets/screen.css +++ b/beta/assets/screen.css @@ -236,7 +236,6 @@ nav ul { } nav { - padding: 10px 0; margin-right: 2rem; flex: 1; position: sticky; @@ -246,6 +245,10 @@ nav { scrollbar-width: none; } +.navContainer { + padding: 10px 0; +} + nav::-webkit-scrollbar { display: none; } @@ -307,6 +310,10 @@ nav .active > ul > .level4 { display: initial; } +.navButtonContainer { + display: none; +} + .documentContainer p, .documentContainer ul, .documentContainer ol { max-width: 42em; box-sizing: border-box; @@ -339,28 +346,3 @@ td, th { section > *:first-child:hover .headerlink { display: initial; } - -@media all and (max-width: 50em) { - nav { - display: none; - } - - .documentContainer { - width: 100%; - } - - header .logoContainer { - padding: 2em 10px; - background-position: 50%; - min-height: 320px; - text-align: center; - } - - header .logoContainer, header select.documentBranch { - text-shadow: 0 0 3px #050a02, 0 0 3px #050a02; - } - - header .logoContainer, header ul, main { - max-width: initial; - } -} diff --git a/documentation-generator/template.html b/documentation-generator/template.html index c8f9f46f..69952b16 100644 --- a/documentation-generator/template.html +++ b/documentation-generator/template.html @@ -11,6 +11,7 @@ $if(math)$ $endif$ + @@ -18,6 +19,7 @@ $endif$ +