@@Mario:
nuqneH
Ich möchte nun kein Bullet oder Einrückung, also verwende ich:
.menu{list-style:none;}
Funktioniert auch, aber nur für das erste UL.Wenn ich das aber so mache:
.menu ul{list-style:none;}
Dann fuktioniert es, wie erwartet, bei allen UL(sub UL) innerhalb des ersten UL, natürlich nicht im ersten selbst.
Also entweder, wie Auge sagte, beide Selektoren aufzählen:
.menu, .menu ul {list-style: none}
Oder einfach die Eigenschaft direkt für alle Listitems angeben:
.menu li {list-style: none}
Warum also vererbt sich das nicht automatisch, wenn ich das nur im ersten setze?
Gute Frage. Ich verstehe es auch nicht.
Bei Angabe von
.menu {list-style: none}
wirkt die 'list-style'-Eigenschaft nicht auf ul[@class="menu"], denn sie wirkt nur auf 'list-item'-Elemente. [CSS21 §12.5.1]
Die Eigenschaft wird aber vererbt [ibid.], wirkt also auf ul[@class="menu"]/li.
Dann sollte sie aber weitervererbt werden auf ul[@class="menu"]/li/ul (ohne Wirkung) und weitervererbt werden auf ul[@class="menu"]/li/ul/li und auch bei diesen 'list-item'-Elementen wieder Wirkung zeigen.
Tut sie aber nicht. Man könnte denken, es läge an der Spezifität des Selektors, weil im Browserstylesheet derartiges steht:
ul {list-style: disc}
ul ul {list-style: circle}
ul ul ul {list-style: square}
Doch selbst
html body ul.menu {list-style: none !important}
zeigt keinen Einfluss auf die Listitems der untergeordneten Listen. Auch noch spezifischere Selektoren mit ID nicht.
Da würd ich auch gern wissen, warum nicht.
Qapla'
Bildung lässt sich nicht downloaden. (Günther Jauch)