2013-07-25 149 views
1

如何使一個CSS選擇器匹配標記了某個類的元素的子樹中的所有元素?選擇子樹中的所有元素

我在想象像下面這樣的CSS(其中:subtree部分是我製作的)。

.diagram:subtree 
{ 
    ... 
} 

當我寫HTML像下文中,在它的內部的<div>和每一個元件應該被選中。

<div class="diagram"> 
    ... 
</div> 
+0

爲什麼downvote?糊塗... –

回答

5

只需使用descendant selector(空間):

.diagram * { … } 

這將選擇具有所施加的diagram類中的任何元素(一個或多個)下的每一個元素。

同時匹配在div本身及其後代,請使用grouping

.diagram, .diagram * { … } 

引述規格:

有時,作者可能希望選擇以匹配後代的元素在文檔樹中的另一個元素(例如,「匹配由H1元素包含的那些EM元素」)。後裔選擇者在一種模式中表達了這種關係。後代選擇器由兩個或多個由空格分隔的選擇器組成。形式的後代選擇當元件B是一些祖先元素A.

+0

我經歷的CSS教程根本沒有提到這些後代選擇器。鏈接的資源將非常有幫助,謝謝。 –

+1

@TimothyShields我的榮幸; W3C規範是恕我直言,通常是非常可讀的,並且更喜歡沉默的教程。 – Phrogz

+0

我很好奇哪個CSS教程不會提到後代選擇器,因爲它可能在前五個CSS概念的列表中。 – 2013-07-25 04:20:10

2

簡單地使用此代碼爲它.diagram * {}

4
.diagram, .diagram * 

這將選擇div .diagram的任意後代「A B」相匹配。該空間是後代選擇器,並且*是所有元素。

編輯:我以爲你的問題最初說「包括元素」因此.diagram,,但你可以簡單地刪除,如果需要。

相關問題