Ich habe ein hierarchisches Navigationsmenü in meiner Seitenleiste, das verschachtelte Listen (<ul> und <li> Tags) verwendet. Ich verwende ein vorgefertigtes Thema, das bereits Stile für Listenelemente enthält, aber ich möchte den Stil für die Elemente der obersten Ebene ändern, aber NICHT auf die Unterelemente anwenden. Gibt es eine einfache Möglichkeit, Stile auf das Listenelement-Tag der obersten Ebene anzuwenden, ohne dass diese Stile auf die untergeordneten Listenelemente herunterkaskadiert werden? Ich verstehe, dass ich den Unterelementen explizit überschreibende Stile hinzufügen kann, aber ich möchte wirklich vermeiden, dass der gesamte Stilcode dupliziert werden muss, wenn es eine einfache Möglichkeit gibt, einfach zu sagen: "Wenden Sie diese Stile auf diese Klasse an und kaskadieren Sie NICHT." sie bis auf Kinderelemente ". Hier ist das HTML, das ich benutze:
<ul id="sidebar">
<li class="top-level-nav">
<span>HEADING 1</span>
<ul>
<li>sub-heading A</li>
<li>sub-heading B</li>
</ul>
</li>
<li class="top-level-nav">
<span>HEADING 2</span>
<ul>
<li>sub-heading A</li>
<li>sub-heading B</li>
</ul>
</li>
</ul>
Das CSS hat also Stile für #sidebar ulund #sidebar ul libereits, aber ich möchte zusätzliche Stile hinzufügen #sidebar .top-level-nav, die NICHT auf seine untergeordneten Elemente übertragen werden. Gibt es eine Möglichkeit, dies einfach zu tun, oder muss ich alle Stile neu anordnen, damit die Stile, die aktiviert waren, #sidebar uljetzt für bestimmte Klassen spezifisch sind?