diff options
| author | Danilo M. <danix@danix.xyz> | 2026-04-16 15:28:23 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-04-16 15:28:23 +0200 |
| commit | 15471cdd66966ec394f3b4c1614cac00b0261e59 (patch) | |
| tree | 8869298c790bed1bc0c8607e389092c517e7c63e /themes/danix-xyz-hacker/assets | |
| parent | 5b4ba192f8a7d405c7070f0276cd66bff96699dd (diff) | |
| download | danixxyz-15471cdd66966ec394f3b4c1614cac00b0261e59.tar.gz danixxyz-15471cdd66966ec394f3b4c1614cac00b0261e59.zip | |
feat: add header nav and hamburger menu styling with JS handlers
- Add header, nav-link, header-actions component CSS
- Add menu-overlay and menu-nav component CSS
- Update hamburger-menu.html with vanilla JS handlers:
- openMenu/closeMenu functions
- ESC key support
- Click outside to close (backdrop click)
- Menu link auto-close
- Scroll lock when menu open
- Replace Alpine @click with id-based event listeners
- Rebuild CSS: main.min.css updated
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Diffstat (limited to 'themes/danix-xyz-hacker/assets')
| -rw-r--r-- | themes/danix-xyz-hacker/assets/css/main.css | 34 | ||||
| -rw-r--r-- | themes/danix-xyz-hacker/assets/css/main.min.css | 34 |
2 files changed, 68 insertions, 0 deletions
diff --git a/themes/danix-xyz-hacker/assets/css/main.css b/themes/danix-xyz-hacker/assets/css/main.css index e15d756..50d5284 100644 --- a/themes/danix-xyz-hacker/assets/css/main.css +++ b/themes/danix-xyz-hacker/assets/css/main.css @@ -390,6 +390,40 @@ html.theme-light { @apply flex items-center justify-between gap-4; } + /* Header navigation styling */ + .header { + @apply fixed top-0 left-0 right-0 z-40; + } + + .header-nav { + @apply hidden md:flex items-center gap-6; + } + + .nav-link { + @apply text-text hover:text-accent transition-colors; + } + + .header-actions { + @apply flex items-center gap-4; + } + + /* Mobile menu overlay */ + .menu-overlay { + @apply fixed inset-0 bg-bg z-40 opacity-0 invisible transition-all duration-300; + } + + .menu-overlay.active { + @apply opacity-100 visible; + } + + .menu-nav { + @apply flex flex-col gap-4 p-6 text-lg font-semibold; + } + + .menu-nav a { + @apply text-text hover:text-accent transition-colors; + } + /* Article metadata styling (with icons) */ .article-meta { @apply flex flex-wrap items-center gap-4 text-sm text-text-dim; diff --git a/themes/danix-xyz-hacker/assets/css/main.min.css b/themes/danix-xyz-hacker/assets/css/main.min.css index 122dfcb..fac5cca 100644 --- a/themes/danix-xyz-hacker/assets/css/main.min.css +++ b/themes/danix-xyz-hacker/assets/css/main.min.css @@ -1470,6 +1470,40 @@ article.border.border-border\/30.rounded-lg.card.group.bg-bg { } } +/* Header navigation styling */ + +.header { + position: fixed; + top: 0px; + left: 0px; + right: 0px; + z-index: 40; +} + +/* Mobile menu overlay */ + +.menu-overlay { + visibility: hidden; + position: fixed; + inset: 0px; + z-index: 40; + background-color: var(--bg); + opacity: 0; + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 300ms; +} + +article.border.border-border\/30.rounded-lg.overflow-hidden.group.menu-overlay { + border-color: var(--border); + box-shadow: 0 0 20px var(--accent-glow); +} + +.menu-overlay.active { + visibility: visible; + opacity: 1; +} + /* Article metadata styling (with icons) */ /* Hero typography with fluid sizing */ |
