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

CSS选择器button:not(#mainBtn, .cta)特异性计算为何是1-0-1?

关于CSS选择器button:not(#mainBtn, .cta)的特异性解释

这里的核心规则是**:not()伪类的参数里如果包含多个选择器,只会取其中特异性最高的那个来贡献,而非把所有参数的特异性累加**。

咱们拆解这个选择器的计算逻辑:

  • button是元素选择器,特异性为 0-0-1
  • :not()本身不增加特异性,但它的参数里有两个选择器:#mainBtn(ID选择器,特异性1-0-0)和.cta(类选择器,特异性0-1-0)。按照规则,这里只取两个参数里特异性最高的那个——也就是#mainBtn的1-0-0。
  • 将两部分特异性相加:0-0-1 + 1-0-0 = 1-0-1,这就是文档给出结果的原因。

你之前误以为要把.cta的类选择器特异性也叠加进去,但实际上:not()的多参数是“或”的匹配逻辑,它只会用参数里特异性最高的那个来计算整体选择器的特异性,而非叠加所有参数的数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 18:12:38