我找到了一種方法來(lái)為所有前面的兄弟元素(與~
相反)添加樣式,具體取決於您的需求。
假設(shè)您有一個(gè)連結(jié)列表,當(dāng)懸停在其中一個(gè)連結(jié)上時(shí),所有前面的連結(jié)都應(yīng)該變成紅色。您可以這樣做:
/* 默認(rèn)鏈接顏色為藍(lán)色 */ .parent a { color: blue; } /* 前面的兄弟元素應(yīng)該是紅色的 */ .parent:hover a { color: red; } .parent a:hover, .parent a:hover ~ a { color: blue; }
<div class="parent"> <a href="#">鏈接</a> <a href="#">鏈接</a> <a href="#">鏈接</a> <a href="#">鏈接</a> <a href="#">鏈接</a> </div>
不,沒(méi)有「previous sibling」選擇器。
在相關(guān)的註解中,~
是用於一般的後續(xù)兄弟選擇器(意思是元素在此元素之後,但不一定緊接著之後),它是CSS3選擇器。
是用於下一個(gè)兄弟選擇器,它是CSS2.1。
請(qǐng)參閱來(lái)自選擇器等級(jí)3的相鄰兄弟選擇器和層疊樣式表2.1版修訂1(CSS 2.1)規(guī)格的相鄰兄弟組合器。