Visibility für alle Ebenen nur einmal definieren?
nocheinPoet
- css
0 T-Rex0 Matthias Apsel
Moin, ich habe da folgende Definition:
.menue ul li ul {visibility: hidden;}
.menue ul li:hover ul {visibility: visible;}
.menue ul li:hover ul li ul {visibility: hidden;}
.menue ul li ul li:hover ul {visibility: visible;}
.menue ul li ul li:hover ul li ul {visibility: hidden;}
.menue ul li ul li ul li:hover ul {visibility: visible;}
.menue ul li ul li:hover ul li ul li ul {visibility: hidden;}
Für jede Ebene in der Liste zwei Definitionen, für die nächste kommt dann:
.menue ul li ul li ul li:hover ul li ul {visibility: visible;}
.menue ul li ul li:hover ul li ul li ul li ul {visibility: hidden;}
Kann man das nicht für alle Ebenen definieren, eben so, dass alle „ul“ nach unten immer ausgeblendet sind?
wow Augenbkrebs....
Du brauchst dringend Hilfe !
.menu ul: visibility: hidden;
.menu li:hover > ul: visibility: visible;
Was du brauchst ist ">" - der direkte Nachfahren Selektor. Musst das natürlich ein wenig auf deine Bedürfnisse anpassen ;).
Wobei es mich sehr wundert dass du bei solchen Untermenüs kein Javascript als Positionierungshilfe brauchst *Respekt!*.
Gruß
Hans guck in die Luft war gestern
T-Rex guck in die Sonne ist heute
Om nah hoo pez nyeetz, nocheinPoet!
Anmerkung: Es gibt auch ">"
Dann wäre .menue > ul
die erste Liste und li > ul
alle untergeordneten (ungetestet)!
Und du könntest dann alle untergeordneten gleichzeitig einblenden.
Matthias
Ja vielen Dank an Euch, genau das habe ich noch zum Glück gebraucht, nun passt alles.
Zur Positionierung, hatte schon die Hoffnung aufgegeben, und die mit jQuery umgesetzt, und dann am Wochenende doch noch einen Weg gefunden es ohne Javascript zu lösen.
Nun ist das Menue ohne JS alleine mit CSS völlig frei und dynamisch. Es müssen auch keine festen Höhen oder Breiten für die Listen und Links vorgegeben werden, verschiebt sich alles sauber von alleine.
Nur was macht man mit so einem tollen Menue? Ist wohl kein Stück abwärtskompatibel. Aber ich weiß nun, es geht, wobei ich nicht glaube, das man die Kombination an Klassen wirklich einfach so aus der Logik aufbaut. CSS ist im Vergleich zu Programmieren auch noch viel Versuchen und Experimentieren.
So nun suche ich noch nette Effekte in CSS, weiches Einblenden muss ja nicht alles sein.
Om nah hoo pez nyeetz, nocheinPoet!
Nun ist das Menue ohne JS alleine mit CSS völlig frei und dynamisch. Es müssen auch keine festen Höhen oder Breiten für die Listen und Links vorgegeben werden, verschiebt sich alles sauber von alleine.
siehe auch https://forum.selfhtml.org/?t=213417&m=1459225
Matthias