我有一个这样的无序列表:
<div class="list">
<ul>
<li>
list1
<ul>
<li>Sub list1</li>
<li>Sub list2</li>
<li>Sub list3</li>
</ul>
</li>
<li>
list2
<ul>
<li>Sub list1</li>
<li>Sub list2</li>
<li>Sub list3</li>
</ul>
</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我现在想要只为第一个列表应用CSS,而不是它的子ul
和li
.我尝试过以下方法:
.list ul li{
background:#ccc;
}
Run Code Online (Sandbox Code Playgroud)
...但背景颜色应用于所有列表.应该怎么做才能改变只有父级而不是子级的CSS.
Guf*_*ffa 36
使用直接后代运算符>
:
.list > ul > li { ... }
Run Code Online (Sandbox Code Playgroud)
在>
操作者选择仅是面前的元件(一个或多个)的直接子元素.
但请注意,该列表项内的任何内容当然都具有列表项的背景,尽管没有直接分配给它的任何背景颜色.