html - 选择 ul 到一定深度

标签 html css css-selectors html-lists

ul, ul ul, ul ul ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

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

例如:

ul > ul

最佳答案

对于初学者来说,选择器 ul > ul 将不起作用,因为 ul 元素可能不是其他 ul 元素的直接子元素。在这种情况下,您需要使用 ul > li > ul

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

body > ul,                           /* Level 1 */
body > ul > li > ul,                 /* Level 2 */
body > ul > li > ul > li > ul { }    /* Level 3 */

不过,就其值(value)而言,具有正确的特异性的选择器 ul 本身就足以将样式应用于所有 ul 元素(如果您不想要仅针对特定的深度级别)。

不幸的是,不存在针对特定深度的独立选择器。也许您以错误的方式处理这个问题 - 为什么不将 classid 属性添加到您希望的特定 ul设置样式并将它们用作选择器?

关于html - 选择 ul 到一定深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30895296/

相关文章:

javascript - html 加载页面后隐藏字段的值丢失

jquery - 将大部分页面 CSS 应用于 jQuery FadeOut?

css-selectors - CSS 从多个图像中选择特定图像

css - 在一个规则中使用多个类的目标元素

java - 如何为下面的复杂 jQuery 选择器编写 cssSelector

javascript - 可以从另一个选项卡刷新浏览器页面

javascript - 从子元素进入父元素时不触发 MouseEnter 事件

html - "<!DOCTYPE html>"是什么意思?

html - 图像高度到另一个 div

html - 在保持内容定位的同时将动画设置为零