li > ul > li
选择比li
的第一级更深的所有ul
元素。
li
选择所有li元素
li:not(li > ul > li)
应该选择所有li
元素,这些元素不会比ul
的第一级更深 - 也就是说,只有第一级元素 - 但它不会。为什么?
谢谢!
答案 0 :(得分:9)
li:not(li > ul > li)
不起作用的原因是因为li > ul > li
不是一个简单的选择器(正如Felix Kling在你的问题的评论中所说的那样)。
获得最高级别的最简单方法是将类或ID提供给最外层ul
,然后执行:
.ulClassNameOrID > li {}
但是,以下内容也会得到您想要的内容(see fiddle),因为它不会选择任何ul
作为之前li
的直接子项(因此不是外部名单):
:not(li) > ul > li {}