]> juplo.de Git - website/commitdiff
Fix Classic-Layout-Regressionen nach strong-Einführung
authorKai Moritz <kai.milan.moritz@googlemail.com>
Fri, 5 Jun 2026 14:40:30 +0000 (14:40 +0000)
committerKai Moritz <kai.milan.moritz@googlemail.com>
Fri, 5 Jun 2026 14:40:30 +0000 (14:40 +0000)
Drei Probleme behoben, die durch das Hinzufügen von <strong> in den
ausgewählten Menü-Einträgen entstanden sind:

1. Font/Spacing: font-weight: normal reichte nicht aus - <strong> beeinflusst
   auch Box-Modell und Inline-Formatting-Context. Ersetzt durch
   display: contents, das das Element vollständig neutralisiert.

2. Jahres-Items zeigten "V" statt ">", weil sie die sub-Klasse hatten
   (wegen der nav-leaf-Artikel-Kinder im HTML). Da deren Kinder in Classic
   immer verborgen sind, entfällt sub - die Bildsprache passt sich dem
   tatsächlich sichtbaren Verhalten an.

3. Jahres-Sublisten hatten active-Klasse (1.5em margin-top), obwohl alle
   Kinder nav-leaf und damit unsichtbar sind. Margin entfernt.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
CLAUDE.md
assets/scss/screen/menu.scss
layouts/_partials/menu/blog.html

index 113fbd9f907c2ff691409e1e73c23f8857a4285e..78b947e046f3139432043eee7d8325bd75236278 100644 (file)
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -123,9 +123,9 @@ Items auf dem aktiven Breadcrumb-Pfad (current + ancestors) bekommen `<strong>`
 <a href="..." class="s selected"><strong>Titel</strong></a>
 ```
 
-Im Classic-Layout wird das Bold durch die CSS-Regel
-`#submenu li.s > a.s.selected > strong { font-weight: normal; }`
-neutralisiert, sodass das Classic-Layout visuell unverändert bleibt.
+Im Classic-Layout wird das `<strong>` durch die CSS-Regel
+`#submenu li.s > a.s > strong { display: contents; }`
+vollständig neutralisiert (`display: contents` entfernt die Box des Elements, sodass Font, Spacing und Box-Modell identisch wie ohne `<strong>` sind).
 Im NONE-Layout (kein CSS) rendert der Browser `<strong>` als fett → sichtbare Pfad-Hervorhebung.
 
 ### Aktueller Stand der Menü-Templates
@@ -137,7 +137,7 @@ Im NONE-Layout (kein CSS) rendert der Browser `<strong>` als fett → sichtbare
 
 ### Blog-Menü-Logik (`blog.html`)
 
-- **Jahres-Items**: Nie `off` (immer sichtbar in Classic), außer auf der `/blog/`-Übersichtsseite
+- **Jahres-Items**: Nie `sub` und nie `off` (immer sichtbar in Classic, kein "V"-Indikator), außer auf der `/blog/`-Übersichtsseite (`off`). Die Sub-Liste der Jahres-Items erhält auch keine `active`-Klasse, da ihre Kinder (Artikel) in Classic immer `nav-leaf` sind und keine `active`-Margin benötigt wird.
 - **Artikel-Items**: Immer `nav-leaf` (in Classic ausgeblendet, in NONE sichtbar)
 - **Kategorien/Tags**: `off` auf allen Blog-Seiten außer `/blog/` selbst; im NONE-Layout trotzdem sichtbar, inklusive der einzelnen Kategorie-/Tag-Namen als `nav-leaf`-Items (ohne die jeweiligen Artikel darunter)
 
index bfafe871ec2cb117a444f1462cfe9878fb2f1f5f..c2f52b8047c4c6517418776107db23d40273e699 100644 (file)
@@ -95,7 +95,7 @@
 {
   display: none;
 }
-#submenu li.s > a.s.selected > strong
+#submenu li.s > a.s > strong
 {
-  font-weight: normal;
+  display: contents;
 }
index b0fd22d68f9a9b863bf69a107137b8f3851ee137..9b3f3ed88a7c68de5705b4741cd8921f2e15081e 100644 (file)
@@ -32,9 +32,9 @@
           <ul class="s{{ if $archiveSelected }} active{{ end }}">
             {{- range $archive.Pages -}}
             {{- $isActiveYear := or (eq . $page) ($page.IsDescendant .) -}}
-            <li class="s sub{{ if $onBlog }} off{{ end }}">
+            <li class="s{{ if $onBlog }} off{{ end }}">
               <a href="{{ .RelPermalink }}" class="s{{ if $isActiveYear }} selected{{ end }}">{{ if $isActiveYear }}<strong>{{ .LinkTitle }}</strong>{{ else }}{{ .LinkTitle }}{{ end }}</a>
-              <ul class="s{{ if $isActiveYear }} active{{ end }}">
+              <ul class="s">
                 {{- range .Pages -}}
                 {{- $isCurrent := eq . $page -}}
                 <li class="s nav-leaf">