Mam hierarchiczne menu nawigacyjne na pasku bocznym, które używa zagnieżdżonych list (znaczniki <ul> i <li>). Używam gotowego motywu, który ma już style dla elementów listy, ale chcę zmienić styl elementów najwyższego poziomu, ale NIE chcę, aby był on stosowany do elementów podrzędnych. Czy istnieje łatwy sposób na zastosowanie stylów do znacznika elementu listy najwyższego poziomu BEZ stosowania tych stylów kaskadowo w dół do elementów listy podrzędnej? Rozumiem, że mogę jawnie dodać nadpisujące style do elementów podrzędnych, ale naprawdę chciałbym uniknąć konieczności powielania całego kodu stylu, jeśli istnieje łatwy sposób, aby po prostu powiedzieć „zastosuj te style do tej klasy i NIE KODUJ kaskadowo aż do elementów podrzędnych ”. Oto kod HTML, którego używam:
<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>
Tak więc CSS ma style dla #sidebar uli #sidebar ul lijuż, ale chciałbym dodać do nich dodatkowe style #sidebar .top-level-nav, które NIE są kaskadowane do jego pod-dzieci. Czy istnieje sposób, aby to zrobić po prostu, czy też muszę zmienić rozmieszczenie wszystkich stylów, aby style, które były włączone, #sidebar ulbyły teraz specyficzne dla określonych klas?