integration: compact the wide primary navigation and keep fragment targets visible

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-25 19:55:22 +02:00
parent 575ba06bb9
commit b15dfd7801
6 changed files with 163 additions and 67 deletions

View File

@@ -31,7 +31,7 @@
>{{ item.label }}</a
>
@if (item.children; as children) {
<ul>
<ul class="submenu">
@for (child of children; track child.routeId) {
<li>
<a

View File

@@ -157,43 +157,74 @@
}
@include bp.respond-to(md) {
.site-header {
position: sticky;
}
.nav-toggle {
display: none;
}
.site-header {
padding-block: var(--space-2);
}
.site-header-inner {
grid-template-columns: auto 1fr auto auto;
grid-template-columns: 1fr auto auto;
align-items: center;
gap: var(--space-2);
padding-block: var(--space-2);
}
.site-nav,
.nav-collapsed .site-nav {
display: flex;
grid-column: 1 / -1;
order: 5;
}
.site-actions,
.nav-collapsed .site-nav,
.nav-collapsed .site-actions {
display: flex;
grid-column: auto;
}
.site-toolbar {
order: 3;
}
.site-actions {
order: 4;
.site-toolbar {
order: 2;
}
.primary-nav {
flex-direction: row;
flex-wrap: wrap;
align-items: flex-start;
gap: var(--space-4);
flex-wrap: nowrap;
align-items: center;
gap: var(--space-3);
}
.primary-nav ul {
padding-inline-start: 0;
.primary-nav > li {
position: relative;
}
.primary-nav > li > a {
white-space: nowrap;
}
.primary-nav > li > .submenu {
display: none;
position: absolute;
top: 100%;
left: 0;
min-width: max-content;
z-index: 20;
padding: var(--space-2) var(--space-3);
gap: var(--space-1);
border-radius: var(--radius-md);
background: var(--surface-glass);
backdrop-filter: blur(var(--blur-glass));
-webkit-backdrop-filter: blur(var(--blur-glass));
border: 1px solid var(--surface-glass-border);
box-shadow: var(--shadow-soft);
}
.primary-nav > li:hover > .submenu,
.primary-nav > li:focus-within > .submenu {
display: flex;
flex-direction: column;
}
}