2011-08-11 90 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