CSS反向選擇父元素可以通過(guò)CSS3的選擇器實(shí)現(xiàn)。在CSS選擇器中,我們可以使用“~”、“+”、“>”、“ ”(空格)等符號(hào)選擇目標(biāo)元素,而“!”則是CSS3新添加的一種選擇器。
下面我們來(lái)看一個(gè)例子:
.parent! .child { color: red; }
這樣我們就可以選擇在class為parent的元素中,所有沒(méi)有class為child的子元素,然后給它們的顏色設(shè)置為紅色。
在這里,“!”也可以換成其他字符,比如“&”或者“#”,只要在選擇器中定義的字符與我們?cè)贖TML中用的一致即可。例如:
.parent& .child { color: blue; } .grandparent>div#parent<.child { color: green; }
在上面的例子中,我們用了不同的字符代替了“!”,但是它們都具有同樣的效果:選擇沒(méi)有class為child的元素,并且它們的父元素具有對(duì)應(yīng)的class或者id。
需要注意的是,“!”選擇器并不兼容所有的瀏覽器,所以如果需要使用這種選擇器,要特別注意兼容性問(wèn)題。