3 回答

TA貢獻(xiàn)1806條經(jīng)驗 獲得超8個贊
該:has()偽選擇是propsed在CSS選擇4規(guī)格的,一旦實施將解決這個用例。
要使用它,我們將編寫如下內(nèi)容:
.foo > .bar:has(> .baz) { /* style here */ }
在像這樣的結(jié)構(gòu)中:
<div class="foo">
<div class="bar">
<div class="baz">Baz!</div>
</div>
</div>
這個CSS將針對.barDIV -因為這兩者有一個父 .foo和其在DOM位置,> .baz解析為一個有效的元素目標(biāo)。
原始答案(留作歷史用途)- 此部分不再準(zhǔn)確
為了完整起見,我想指出的是,在Selectors 4規(guī)范(當(dāng)前正在提議中)中,這將成為可能。具體來說,我們將獲得主題選擇器,它將以以下格式使用:
!div > span { /* style here */
在!之前的div選擇器指示它是要被風(fēng)格,而不是元件span。不幸的是,目前尚無現(xiàn)代瀏覽器(截至本文發(fā)布時)實現(xiàn)此功能作為其CSS支持的一部分。但是,如果您想進(jìn)一步探索的話,可以通過名為Sel的JavaScript庫獲得支持。

TA貢獻(xiàn)1831條經(jīng)驗 獲得超4個贊
我同意這是不可能的。
CSS3唯一可以做的事情(對我而言是有幫助的)是選擇沒有子元素的元素:
table td:empty
{
background-color: white;
}
或有任何孩子(包括文字):
table td:not(:empty)
{
background-color: white;
}
添加回答
舉報