我有一个这样无序的列表:
<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>
我现在想将CSS应用于第一个列表,但不适用于其子项ul和li。我尝试过以下操作:
.list ul li{ background:#ccc; }
…但背景颜色应用于所有列表。应该做什么来改变只有父母而不是孩子的CSS。
解决方法
使用直接后代运算符>为了那个原因:
.list > ul > li { ... }
>运算符只选择元素的直接子元素。
但是请注意,尽管没有任何背景颜色直接分配给列表项,但是列表项目中的任何内容当然都具有列表项的背景。