2011-08-11 54 views
8

是否有人知道在选择具有CSS的元素时限制子深度的解决方案?CSS限制深度样式可应用于元素

例子:

.my-class div div:end(styles:here) 

这将防止不得不CSS类添加到每一个第二个div页面,同时防止款式被传递到第三第四等孩子。

回答

14

您可以专门告诉它只使用the > operator搜索更深一级。

请看下面的例子:

#target > p > span { 
    background: red; 
} 

这将搜索#target直接子元素<p>,那元素中,将搜索直接子元素<span>。因此,如果嵌套的<p>元素和其中的跨度,它将不会受到影响。

一个非常常见的用途是嵌套的列表项,您希望主列表的样式,而次列表不是。

ul#parent > li /* Direct descendant. */ 
ul#parent > li > ul > li /* 2 levels deep descendant. */ 
+0

显然,你不能直接在body标签使用此风格的文本节点,即使那些得到包括连同所有其他无样式的节点,如果你只是风格身体。例如,如果您使用颜色为身体设计风格,则无法通过其自身为顶级文本设置蓝色:蓝色所有深度的所有未设置样式的文本均变为蓝色。 – Michael

+0

@Michael也就是说,部分原因在于,按照规格,身体无法保存文本节点。身体只能容纳块级元素。 –

+0

但我总是看到这样的东西:一些文字。 。 – Michael