You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS的:is、:where伪类是否会自动折叠重复选择器?

这是Chrome 90~94版本中关于:where()、:is()伪类的已知解析bug。

正常匹配逻辑

按照W3C选择器规范,你给出的CSS:

div :where(div p, .whatever) { color: red; }

等价于(仅特异性更低):

div div p, div .whatever { color: red; }

只会选中两层及以上<div>嵌套下的<p>元素,也就是示例中的「text the second」段落。

该版本Chrome的异常原因

你测试的Chrome 92版本错误解析了:where()内部带后代组合器的选择器:它没有完整拼接div [后代] (div p)的完整选择器链,反而错误地仅取了内部选择器的最后一个单元p和前面的div拼接,最终把选择器解析成了div p,因此外层<div>下的第一个<p>也被命中,两段文本都变成红色。

这个解析bug在Chrome 95及之后的正式版本已经被修复,升级浏览器后即可得到符合规范的渲染结果。

内容的提问来源于stack exchange,提问作者Erics

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:15:03