AscendLab
开发者工具公开工具在浏览器中运行,除非页面另有说明。无需账号即可使用当前工具。
免费开发者工具

CSS 优先级计算器 - 计算选择器 Specificity

输入 CSS 选择器,计算 ID、class、属性、伪类和元素的 specificity 权重,适合排查样式覆盖问题。

可以开始使用

浏览器本地 · 无需账号 · 结果留在当前页面

使用工具
CSS 选择器
每行粘贴一个选择器,也可以用逗号分隔选择器列表。

试试常见优先级检查

优先级结果
分数使用常见的 ID、class、element 格式。

选择器

5

最强选择器

1-1-1

格式

A-B-C

分数IDsClassesElements选择器
1-1-1111#app .card > h2
0-3-0030.button.primary:hover
0-2-3023main article.post[data-state="published"] h1
0-1-2012:where(.shell) nav a[aria-current="page"]
0-1-1011:is(header, main, footer) .link
Specificity 分数按常见选择器计算。级联层、源码顺序、继承和浏览器支持仍可能改变最终生效样式。
快速答案

CSS 优先级计算器可以告诉你选择器权重为什么会覆盖其他样式。

它适合排查样式冲突、设计系统规则、组件覆盖和调试选择器。

适合输入

清晰输入

准备好要处理的CSS 选择器,避免混入不相关内容。

确认输出用途

先确认结果要用于发布、调试、估算、整理还是交付,再选择合适参数。

复核关键边界

结果适合快速处理和初步判断,重要场景仍应按目标平台、团队规则或业务口径复核。

计算方式
工具按 CSS specificity 规则统计 ID、class/属性/伪类和元素部分。
ID 权重通常最高。
class、属性和伪类会增加中间权重。
元素选择器权重较低。
示例、假设和限制
工具结果适合快速估算、转换和整理;关键场景建议按业务规则复核。

示例

#app .button:hover 的权重会高于 .button。

假设

输入是标准 CSS 选择器,用户需要理解覆盖关系。

限制

实际样式还受顺序、继承、层叠层、important 和浏览器规则影响。

使用前检查
开始处理前先确认这些事项,能减少复制错误、格式偏差和结果误读。

复制完整选择器

少复制一个 class、伪类或属性选择器,计算出的权重就可能和真实 CSS 不一致。

先找覆盖来源

优先级只是原因之一,样式顺序、媒体查询、继承和内联样式也会影响最终结果。

少用更高权重硬压

如果每次都加 ID 或 !important,样式会越来越难维护,应该先简化选择器结构。

实用细节
这些补充说明更偏真实使用决策,帮助你判断参数、边界和下一步处理方式。

适合排查样式不生效

当 hover、媒体查询或组件 class 没生效时,先看选择器权重和声明顺序。

它不读取真实 CSS 文件

页面只按输入选择器计算权重,最终样式还要结合加载顺序、继承和变量值。

重构优于不断加权重

长期维护时,减少嵌套选择器和隐式覆盖,比增加更高权重更健康。

常见使用场景
这些中文页面面向轻量、快速、浏览器本地完成的日常任务。

样式冲突

解释为什么某条规则生效。

组件覆盖

检查选择器是否过重。

设计系统

控制规则复杂度。

教学示例

演示 specificity 规则。

常见问题
Specificity 是什么?

它是 CSS 判断选择器优先级的一部分。

它能解释所有覆盖吗?

不能,还要考虑顺序、important、层叠层和继承。

会上传选择器吗?

不会。计算在浏览器中完成。

ID 一定不要用吗?

不是,但 ID 会提高权重,组件样式中应谨慎使用。

!important 会改变优先级计算吗?

!important 会进入更高优先级层级,常规 specificity 数字仍有参考价值,但不能单独解释所有覆盖情况。

为什么权重更高的样式仍然没生效?

可能被媒体查询、加载顺序、内联样式、CSS 变量、浏览器默认样式或样式层级影响,需要结合真实页面排查。

推荐流程

CSS 调试流程

先整理 CSS,再计算选择器权重。