Tengo un menú de navegación jerárquico en mi barra lateral que usa listas anidadas (etiquetas <ul> y <li>). Estoy usando un tema prefabricado que ya tiene estilos para los elementos de la lista, pero quiero modificar el estilo de los elementos de nivel superior pero NO aplicarlo a los subelementos. ¿Existe una manera fácil de aplicar estilos a la etiqueta del elemento de la lista de nivel superior SIN tener esos estilos en cascada hacia los elementos de la lista secundaria? Entiendo que puedo agregar explícitamente estilos primordiales a los subelementos, pero realmente me gustaría evitar tener que duplicar todo ese código de estilo si hay una manera fácil de decir "aplicar estos estilos a esta clase y NO en cascada hasta los elementos secundarios ". Aquí está el html que estoy usando:
<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>
Entonces, el CSS tiene estilos para #sidebar ul
y #sidebar ul li
ya, pero me gustaría agregar estilos adicionales a #sidebar .top-level-nav
eso NO en cascada hacia sus sub-hijos. ¿Hay alguna forma de hacer esto simplemente o necesito reorganizar todos los estilos para que los estilos que estaban #sidebar ul
activados ahora sean específicos para ciertas clases?