早在 2015 年 Safari 内容拦截器发布时,据说它们支持 CSS 选择器 Level 4 表达式。
然而,即使在今天,它们至少也不支持:has()
运营商。
Safari 实际支持 Level4 规范的哪些部分?
这是唯一受支持的(根据Webkit 博客文章):
:matches()
, :not()
,:nth-child()
和:nth-last-child()
?
早在 2015 年 Safari 内容拦截器发布时,据说它们支持 CSS 选择器 Level 4 表达式。
然而,即使在今天,它们至少也不支持:has()
运营商。
Safari 实际支持 Level4 规范的哪些部分?
这是唯一受支持的(根据Webkit 博客文章):
:matches()
, :not()
,:nth-child()
和:nth-last-child()
?
Safari 9 于 2015 年发布,支持以下 4 级选择器:
[type="text" i]
:any-link
:lang()
:not()
:matches()
:nth-child(An+B of S)
(同样适用于:nth-last-child()
):placeholder-shown
截至 2018 年,此后没有添加新的 4 级选择器。但是,Safari 仍然是唯一支持除第一个和最后一个之外的所有浏览器的浏览器。
没有已知的浏览器实现:has()
,坦率地说,我不会在接下来的几年内坚持一个表面处理。鉴于浏览器实现已针对实时匹配 CSS 选择器进行了优化,实现快照匹配将需要大量工作,这似乎不是供应商现在想要投入的工作。工作组仍在探索他们在绩效部门的选择。