早在2015年发布Safari Content Blockers时,据说它们支持CSS Selectors Level 4表达式。
但是,即使到了今天,他们至少也不支持:has()
运算符。
Safari实际上支持仅Level4规范的哪些部分?
这是唯一受支持的内容吗(根据Webkit blog post):
:matches()
,:not()
,:nth-child()
和:nth-last-child()
?
答案 0 :(得分:1)
2015年发布的Safari 9随附support for the following level 4 selectors:
[type="text" i]
:any-link
:lang()
:not()
:matches()
:nth-child(An+B of S)
(对:nth-last-child()
也有暗示):placeholder-shown
截至2018年,此后未添加新的4级选择器。但是,除了第一个和最后一个,Safari仍然是唯一支持所有浏览器的浏览器。
目前尚无:has()
的浏览器实现,坦率地说,在接下来的几年中,我不会坚持使用任何一种。鉴于浏览器实现已针对实时匹配CSS选择器进行了优化,因此实现快照匹配将花费大量的工作,这似乎并不是供应商现在想要投入的工作。工作组仍在绩效部门探索他们的选择。