add animations to nav-menu
This commit is contained in:
parent
bd489f4944
commit
49c9b373d6
1 changed files with 43 additions and 4 deletions
|
|
@ -46,14 +46,29 @@
|
|||
) = {
|
||||
```raw-css
|
||||
body:has(#nav-menu-toggle:checked) #icon-nav-menu { display: none; }
|
||||
body:has(#nav-menu-toggle:checked) #icon-nav-menu-close { display: block; }
|
||||
body:has(#nav-menu-toggle:not(:checked)) #icon-nav-menu { display: block; }
|
||||
body:has(#nav-menu-toggle:checked) #icon-nav-menu-close { display: flex; }
|
||||
body:has(#nav-menu-toggle:not(:checked)) #icon-nav-menu { display: flex; }
|
||||
body:has(#nav-menu-toggle:not(:checked)) #icon-nav-menu-close { display: none; }
|
||||
#nav-menu-toggle-label {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
&:has(input:focus-visible) icon-container {
|
||||
outline: 2px solid var(--color-button-focus);
|
||||
}
|
||||
&:hover icon-container {
|
||||
box-shadow: inset 0px 0px 0.4em 0px var(--color-button-shadow);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
icon-container {
|
||||
padding: 0.2em;
|
||||
border-radius: 0.5em;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
input {
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
|
|
@ -81,16 +96,40 @@
|
|||
#let nav-menu(body) = {
|
||||
```raw-css
|
||||
body:has(#nav-menu-toggle:not(:checked)) nav-menu {
|
||||
display: none;
|
||||
/*display: none;*/
|
||||
/* visibility: hidden + max-height: 0 ~= display: none
|
||||
*/
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
max-height: 0;
|
||||
}
|
||||
nav-menu {
|
||||
display: block;
|
||||
border-top: solid 1px var(--color-border);
|
||||
border-bottom: solid 1px var(--color-border);
|
||||
text-align: center;
|
||||
font-size: 1.25em;
|
||||
padding-left: 2rem;
|
||||
padding-right: 2rem;
|
||||
max-height: 100%;
|
||||
visibility: visible;
|
||||
|
||||
@starting-style {
|
||||
opacity: 0;
|
||||
max-height: 0;
|
||||
}
|
||||
|
||||
/* Uses visibility instead of diplay for animation because Firefox
|
||||
* preferes making slopeware instead of fixing this bug:
|
||||
* https://bugzilla.mozilla.org/show_bug.cgi?id=1882408
|
||||
*/
|
||||
transition:
|
||||
opacity 0.5s ease-in,
|
||||
/*display 0.5s,*/
|
||||
visibility 0.5s,
|
||||
max-height 0.5s ease-out;
|
||||
transition-behavior: allow-discrete;
|
||||
|
||||
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue