ネストされたリスト(<ul>タグと<li>タグ)を使用する階層ナビゲーションメニューがサイドバーにあります。リストアイテムのスタイルがすでにある既成のテーマを使用していますが、トップレベルアイテムのスタイルを変更したいのですが、サブアイテムには適用しません。それらのスタイルを子リストアイテムにカスケードせずに、トップレベルのリストアイテムタグにスタイルを適用する簡単な方法はありますか?サブアイテムにオーバーライドスタイルを明示的に追加できることは理解していますが、「これらのスタイルをこのクラスに適用し、カスケードしないでください」と言う簡単な方法がある場合は、そのスタイルコードをすべて複製する必要はありません。それらを任意の子要素にまで下げます」。これが私が使用しているhtmlです:
<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>
そのため、CSSにはすでにスタイルが#sidebar ul
あり#sidebar ul li
ますが#sidebar .top-level-nav
、サブ子にカスケードされないスタイルを追加したいと思います。これを簡単に行う方法はありますか、それともすべてのスタイルを再配置して、オンになっていたスタイルが#sidebar ul
特定のクラスに固有になるようにする必要がありますか?