如何使一個CSS選擇器匹配標記了某個類的元素的子樹中的所有元素?選擇子樹中的所有元素
我在想象像下面這樣的CSS(其中:subtree
部分是我製作的)。
.diagram:subtree
{
...
}
當我寫HTML像下文中,在它的內部的<div>
和每一個元件應該被選中。
<div class="diagram">
...
</div>
如何使一個CSS選擇器匹配標記了某個類的元素的子樹中的所有元素?選擇子樹中的所有元素
我在想象像下面這樣的CSS(其中:subtree
部分是我製作的)。
.diagram:subtree
{
...
}
當我寫HTML像下文中,在它的內部的<div>
和每一個元件應該被選中。
<div class="diagram">
...
</div>
只需使用descendant selector(空間):
.diagram * { … }
這將選擇具有所施加的diagram
類中的任何元素(一個或多個)下的每一個元素。
同時匹配在div本身及其後代,請使用grouping:
.diagram, .diagram * { … }
引述規格:
有時,作者可能希望選擇以匹配後代的元素在文檔樹中的另一個元素(例如,「匹配由H1元素包含的那些EM元素」)。後裔選擇者在一種模式中表達了這種關係。後代選擇器由兩個或多個由空格分隔的選擇器組成。形式的後代選擇當元件B是一些祖先元素A.
我經歷的CSS教程根本沒有提到這些後代選擇器。鏈接的資源將非常有幫助,謝謝。 –
@TimothyShields我的榮幸; W3C規範是恕我直言,通常是非常可讀的,並且更喜歡沉默的教程。 – Phrogz
我很好奇哪個CSS教程不會提到後代選擇器,因爲它可能在前五個CSS概念的列表中。 – 2013-07-25 04:20:10
簡單地使用此代碼爲它.diagram * {}
.diagram, .diagram *
這將選擇div .diagram
的任意後代「A B」相匹配。該空間是後代選擇器,並且*
是所有元素。
編輯:我以爲你的問題最初說「包括元素」因此.diagram,
,但你可以簡單地刪除,如果需要。
爲什麼downvote?糊塗... –