我有以下html标记。我想将css样式应用于li
项,这些项是主ul
的直接子项。我不想选择嵌套在li
内的li项目。我怎么能这样做?
在下面的代码中,我想只选择“主项目1”和“主项目2”。我正在尝试>运算符,但它不起作用。
HTML:
<div class="nav">
<ul>
<li><a>Main item 1</a></li>
<li><a>Main item 2</a>
<ul>
<li><a>sub item 1</a></li>
<li><a>sub item 2</a></li>
</ul>
</li>
</ul>
</div>
CSS:
.nav > ul li a:hover{
color: red;
}
答案 0 :(得分:7)
您只使用ul
选择了父>
,您还需要添加另一个,以便选择该ul
的直接子项,例如:
.nav > ul > li > a:hover{
color: red;
}
您还需要添加li > a:hover
来选择其中的锚元素,因为子<a>
元素也在<li>
范围内。
答案 1 :(得分:4)
更具体一点。
.nav > ul > li > a:hover{
color: red;
}
更确切地说......
.nav > ul li
选择li
内ul
的任何.nav
li
。这包括任何子菜单中的.nav > ul > li
。
li
仅选择ul
作为.nav
直接子女的li
的直接子女。
通过扩展,您只想选择所选{{1}}内的锚点(出于与上述相同的原因)....因此原始答案。