🎯

CSS 优先级计算

解析 CSS 选择器,计算其特异性(specificity)权重 (a,b,c),排查样式覆盖。

本地处理 · 不上传

加载工具中…

相关:CSS优先级 · 特异性 · specificity · 选择器权重 · 样式覆盖

CSS 优先级计算解析选择器并算出它的特异度权重,可同时比较多个选择器判断谁会胜出。样式不生效时先算一算往往就找到原因。

使用步骤

  1. 输入一个或多个 CSS 选择器
  2. 查看各自的特异度数值
  3. 对比谁的优先级更高
  4. 据此调整选择器写法

使用场景

  • 排查样式被覆盖不生效的问题
  • 重构样式表时评估选择器权重
  • 理解为什么加了类名还是不起作用
  • 制定团队的选择器书写规范

小贴士

  • 特异度按 ID、类/属性/伪类、元素/伪元素三级计数,高位不为零时低位再多也无法翻盘——十个类也压不过一个 ID。
  • 内联样式高于任何选择器,`!important` 又高于内联,但这两者都应尽量避免,它们会让后续维护无处下手。
  • 特异度相同时后出现的规则胜出,因此样式表的引入顺序同样影响最终结果。

常见问题

为什么加了 !important 还是不生效?

可能对方也用了 !important 且特异度更高,或者你的规则根本没匹配到元素。另外,动画中的样式在特定阶段优先级更高。

:is() 和 :where() 的权重怎么算?

`:is()` 取括号内特异度最高的那个参数计入,`:where()` 特异度恒为 0。后者常用于写不增加权重的兜底样式。

怎么避免特异度打架?

保持选择器扁平、优先用单个类名、不用 ID 做样式钩子。BEM 之类的命名约定就是为了让所有规则处于同一权重层级。

CSS 优先级计算是免费的吗?

是。本站所有工具完全免费,无需注册登录、无广告干扰,打开即用。

使用CSS 优先级计算,我的数据安全吗?

安全。该工具在你的浏览器本地完成处理,输入内容不会上传到服务器,隐私更有保障。