选择ul到一定深度

Ing*_*dak 8 html css css-selectors html-lists

ul, ul ul, ul ul ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
Run Code Online (Sandbox Code Playgroud)

问题:是否有选择器,所以我可以用它来为每个n-deep应用样式ul

例如:

ul > ul
Run Code Online (Sandbox Code Playgroud)

Jam*_*lly 6

对于初学者,选择器ul > ul将不起作用,因为ul元素可能不是其他ul元素的直接子元素.你需要ul > li > ul在这个例子中使用.

您可以针对特定深度级别执行的操作是将所有内容都置于第一个ul元素的父级.例如,如果您的顶级ul是该body元素的直接子级,则只需添加body >到您的选择器中:

body > ul,                           /* Level 1 */
body > ul > li > ul,                 /* Level 2 */
body > ul > li > ul > li > ul { }    /* Level 3 */
Run Code Online (Sandbox Code Playgroud)

尽管如此,只要选择器具有正确的特异性,ul就可以将样式应用于所有ul元素(如果您不想仅仅针对特定的深度级别).

遗憾的是,不存在用于定位特定深度的独立选择器.也许你是以错误的方式接近这个 - 你为什么不为你想要设计的特定添加一个classid属性ul并将它们用作选择器呢?