push_back()
问题:是否有选择器,所以我可以用它来为每个n-deep ul, ul ul, ul ul ul {
list-style: none;
margin: 0;
padding: 0;
}
应用样式?
例如:
ul
答案 0 :(得分: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 */
对于它的价值而言,只要选择器ul
具有正确的特异性就足以将样式应用于所有ul
元素(如果您不想仅仅针对特定的深度级别) )。
不幸的是,不存在用于定位特定深度的独立选择器。也许你是以错误的方式接近这个 - 为什么不向你希望设置样式的特定class
添加id
或ul
属性,而是将它们用作选择器而不是?
答案 1 :(得分:3)
您正在应用的属性通常会重置我们在ul
元素上执行的操作,因此请编写类似
ul {
//Reset properties
}
足以让它在任何级别的dom上应用。
仍然出于某种原因,如果你想要在特定级别定位特定属性,你需要使用>
,但要确保你不能写 这是错误的,因为你不能将ul > ul
ul
元素作为直接子元素嵌套到ul
。
因此,如果您想要专门定位ul
而不是一般重置,请使用围绕ul
第一级的包装元素,并使用像
.wrapper ul {
//targets all ul nested under .wrapper
}