爲一個文件:CSS一般兄弟選擇特異性
<h1>Section 1</h1>
<p>I came after a h1 and should be red.</p>
<p>I came after a h1 and should be red.</p>
<h2>Section 2</h2>
<p>I came after a h2 and should be green.</p>
<p>I came after a h2 and should be green.</p>
<h1>Section 3</h1>
<p>I should be the same color as the section one text?</p>
<p>I should be the same color as the section one text?</p>
我試過的風格是:
h1 ~ p {
color: red;
}
h2 ~ p {
color: green;
}
http://jsfiddle.net/4ks7j938/7/
我預計,第1和第3將具有相同的風格,第三段與更具體的h1 ~ p
選擇器匹配,因爲h1
比更接近兄弟10。但是,在我的測試中,結果是第2段和第3段的樣式相同。
兩個問題:
請問CSS選擇器的規格其實某處指定此行爲? css spec on the General sibling selector似乎可以在這裏解釋。
我怎樣才能達到第1段和第3段的樣式相同的預期結果?我不能添加類或任何屬性的HTML,我只能控制CSS。
關於[計算選擇特異性](http://www.w3.org/TR/css3-selectors/#specificity)一節從未提及組合器,所以假設或甚至推斷組合器對於選擇特異性。 – BoltClock 2014-12-11 05:31:11
至於達到預期的結果,Musa是正確的:在給定文檔結構的情況下,您將無法使用純CSS完成此操作。類似問題:http://stackoverflow.com/questions/10427998/targeting-more-than-one-following-element-with-elementelement http://stackoverflow.com/questions/13330757/target-all-general-siblings-相同類型之前的下一個出現 – BoltClock 2014-12-11 05:32:25