CSS选择ul的顶级

时间:2013-03-29 14:16:48

标签: css css-selectors

li > ul > li选择比li的第一级更深的所有ul元素。

li选择所有li元素

li:not(li > ul > li)应该选择所有li元素,这些元素不会比ul的第一级更深 - 也就是说,只有第一级元素 - 但它不会。为什么?

谢谢!

1 个答案:

答案 0 :(得分:9)

li:not(li > ul > li)不起作用的原因是因为li > ul > li不是一个简单的选择器(正如Felix Kling在你的问题的评论中所说的那样)。

获得最高级别的最简单方法是将类或ID提供给最外层ul,然后执行:

.ulClassNameOrID > li {}

但是,以下内容也会得到您想要的内容(see fiddle),因为它不会选择任何ul作为之前li的直接子项(因此不是外部名单):

:not(li) > ul > li {}