Files
basiclean-webapp/components/Navbar/NavbarSubMenu.module.css
T
2026-05-02 10:41:00 +02:00

105 lines
1.8 KiB
CSS

:root {
--nav-submenu-max-width: var(--container-width);
--nav-submenu-bg: var(--color-surface);
}
.nav-submenu {
display: grid;
list-style: none;
width: 100%;
max-height: 0;
opacity: 1;
overflow: hidden;
pointer-events: none;
transition: max-height 250ms ease;
background-color: var(--nav-bg);
}
.nav-submenu.open {
max-height: var(--submenu-h);
pointer-events: auto;
}
.nav-submenu-inner {
width: 100%;
height: auto;
}
.nav-submenu-list {
width: var(--nav-submenu-max-width);
margin: 0 auto;
}
.nav-sub-toggle {
display: flex;
align-items: center;
height: 100%;
width: 100%;
padding: 12px 16px;
background-color: inherit;
border: 0;
text-align: left;
cursor: pointer;
font: inherit;
color: inherit;
}
.nav-item-with-sub {
display: flex;
flex-direction: column;
}
.nav-submenu > li {
padding: 0;
}
.nav-submenu > li a {
padding: 12px 24px;
}
@media (min-width: 1024px) {
.nav-submenu {
position: fixed;
left: 0;
right: 0;
top: var(--nav-h);
pointer-events: none;
box-shadow: 0 4px 6px -6px rgb(0 0 0 / 30%);
opacity: 0;
transition:
max-height 300ms,
opacity 300ms;
}
.nav-submenu.open {
opacity: 1;
}
.nav-submenu > li {
padding: 0;
}
.nav-submenu > li a {
padding: 0;
}
.nav-submenu-list {
width: min(100%, var(--nav-submenu-max-width));
margin: 0 auto;
display: grid;
grid-auto-flow: column;
grid-template-rows: repeat(5, auto);
grid-auto-columns: minmax(180px, max-content);
column-gap: 48px;
row-gap: 4px;
justify-content: start;
align-items: start;
padding: 24px 24px 48px 24px;
font-size: 16px;
font-weight: 500;
}
.nav-sub-toggle {
position: relative;
padding: 16px 8px;
}
}