Show navbar on hover/keyboard focus

This commit is contained in:
daudix
2024-10-28 05:23:59 +03:00
parent 9d4df2790a
commit 8f9fb1e88a
4 changed files with 65 additions and 29 deletions

View File

@ -20,17 +20,7 @@
} }
& + #heading { & + #heading {
margin-block-start: 35vw; margin-block-start: calc(50vw - 8.75rem);
}
@media only screen and (max-width: 480px) {
body:has(&) #site-nav {
margin-block-start: 50vw;
}
& + #heading {
margin-block-start: 2rem;
}
} }
} }

View File

@ -65,7 +65,7 @@ body {
} }
.container { .container {
margin: 0 auto; margin: 4.25rem auto 0;
width: min(var(--container-width), 90%); width: min(var(--container-width), 90%);
} }

View File

@ -1,14 +1,62 @@
#site-nav { #handle {
position: sticky; position: fixed;
z-index: 999; z-index: 1;
margin: 1rem auto; transition: var(--transition);
margin: 0 auto;
inset-block-start: 1rem; inset-block-start: 1rem;
border-radius: 1.625rem; inset-inline-end: 0;
max-width: 90%; inset-inline-start: 0;
width: min(var(--container-width), 90%);
height: 3.25rem;
@media only screen and (max-width: 480px) { &::before {
position: relative; position: absolute;
transition: var(--transition);
margin: 0 auto;
inset-block-start: 0; inset-block-start: 0;
inset-inline-end: 0;
inset-inline-start: 0;
box-shadow: var(--edge-highlight);
border-radius: 999px;
background-color: var(--fg-muted-2);
width: 50%;
height: 0.5rem;
content: "";
}
&:hover::before,
&:has(+ #site-nav:hover)::before,
&:has(+ #site-nav *:focus-visible, + #site-nav *:focus)::before {
transform: translateY(-1rem) scale(0.5);
opacity: 0;
}
&:hover + #site-nav {
transform: none;
opacity: 1;
}
}
#site-nav {
position: fixed;
left: 50%;
transform: translateY(-1rem) scale(0.5);
transform-origin: top;
opacity: 0;
z-index: 999;
transition: var(--transition);
margin: 0 auto;
inset-block-start: 1rem;
inset-inline-end: 0;
inset-inline-start: 0;
border-radius: 1.625rem;
width: max-content;
max-width: min(var(--container-width), 90%);
&:hover,
&:has(*:focus-visible, *:focus) {
transform: none;
opacity: 1;
} }
&::before { &::before {
@ -362,13 +410,11 @@
} }
#search-results { #search-results {
--mask: linear-gradient( --mask: linear-gradient(to bottom,
to bottom, transparent,
transparent, black 1rem,
black 1rem, black calc(100% - 1rem),
black calc(100% - 1rem), transparent);
transparent
);
-webkit-mask-image: var(--mask); -webkit-mask-image: var(--mask);
display: none; display: none;
flex: 1; flex: 1;
@ -404,8 +450,7 @@
&:first-of-type, &:first-of-type,
&.more-matches { &.more-matches {
margin-block-start: 0.5rem; margin-block-start: 0.5rem;
border-block-start: max(1px, 0.0625rem) solid border-block-start: max(1px, 0.0625rem) solid var(--fg-muted-2);
var(--fg-muted-2);
padding-block-start: 0.25rem; padding-block-start: 0.25rem;
} }

View File

@ -1,5 +1,6 @@
{%- set rel_attributes = macros_rel_attributes::rel_attributes() | trim -%} {%- set rel_attributes = macros_rel_attributes::rel_attributes() | trim -%}
<div id="handle"></div>
<header id="site-nav"> <header id="site-nav">
<nav> <nav>
<a href="#main" id="main-content" tabindex="0"> <a href="#main" id="main-content" tabindex="0">