Aloha ;)
das überlege ich schon die ganze Zeit. 2 Probleme scheint das Menü, wie im verlinkten Beispiel, zu haben:
- es geht keine 3. Ebene
- Klick auf die Hauptebene öffnet die verborgene Unterebene, aber Klick auf einen Link der Unterebene läd zwar die verlinkte Seite, aber schließt zugleich auch das Untermenü.... was unschön ist.
Hm. Ich sitz jetzt ausnahmsweise nicht vor dem Tablet und kann mir die verlinkte Seite dementsprechend genauer ansehen. Ich glaube ja, dass die beiden Probleme, die du ansprichst, dieselbe Ursache besitzen: Die technische Realisierung über :target ...
Das Problem: Sobald ich etwas anderes anklicke, bekommt das geklickte a den "Fokus" (nicht falsch verstehen, hat nix mit focus zu tun). Das ist einerseits gut (denn ein anderer angeklickter Link klappt damit automatisch alles andere zu), hat aber den massiven Nachteil, dass beim Klick in die zweite Ebene auf einmal die erste nicht mehr mitselektiert werden kann. Außerdem zwingt es dich, einen entsprechenden Anker in der URL zu haben (nur so funktioniert target) - das ist weder schön noch Sinn und Zweck eines Ankers. Außerdem praxisuntauglich, weil jegliches Springen innerhalb deiner Seite per Anker zwangsläufig die Navigation zusammenfaltet.
Okay. Reden wir darüber wie mans richtig macht. Ich glaube, ich gehe allen hier schon damit auf die Nerven, aber auch das geht per CSS mit dem Checkbox-Hack. (Vielleicht bist du ja der erste von den vielen, die ich in letzter Zeit mit diesem Link bedacht habe, ders tatsächlich mal ausprobiert :D). Und zwar nimmst du in deinem Fall statt den "checkboxen" für jede Navigationsebene eine Gruppe von Radiobuttons (die man übrigens nicht kompliziert aus dem Viewport schieben muss, sondern einfach mit display:none versehen kann). Damit kriegst du dann also folgendes: Sobald du einen Eintrag auswählst, gehen nur dessen Untereinträge auf und alle anderen offenen Meüs daneben (nicht die darüber) schließen sich (denn der checked-Status vom Radio-Button springt ja innerhalb der gruppierten Radiobuttons).
Du gehst also her und baust dein Menü !komplett! per PHP auf. Und bei den Radiobuttons wählst du den der aktuellen Seite (und die direkt übergeordneten) als default-checked in ihrer Gruppe. Und schon kannst du munter drauflosklicken ;)
Ich weiß gar nicht, warum keiner bisher meine Hinweise zum Checkbox-Hack ernst genommen hat ;)
Grüße,
RIDER
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[