3 回答

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

TA貢獻1831條經驗 獲得超4個贊
我同意這是不可能的。
CSS3唯一可以做的事情(對我而言是有幫助的)是選擇沒有子元素的元素:
table td:empty
{
background-color: white;
}
或有任何孩子(包括文字):
table td:not(:empty)
{
background-color: white;
}
- 3 回答
- 0 關注
- 1359 瀏覽
相關問題推薦
添加回答
舉報