CSS 优先级计算器

每行粘贴一条选择器,查看每一条的优先级拆解,并按级联实际生效的顺序排序。

结果会显示在这里,按优先级从高到低排序。

工作原理

每条选择器都会按组合符拆分并分词:#id 记为 ID, .class[attr]:pseudo-class 记为 类,裸元素名和 ::pseudo-elements 记为元素。 通配符 * 以及 >+~ 这类组合符不计分。每条选择器最终得到一个三元组 (ID 数, 类数, 元素数), 这与 CSS 规范本身定义优先级的方式完全一致,所以这里的排序结果 与你浏览器自身的级联结果完全匹配。

一切都在本页面的 JavaScript 中随按键实时计算。粘贴一整份样式表的 选择器也不会离开你的浏览器。

常见问题

优先级是怎么计算的?

分为四个计数层级:内联样式,然后是 ID 选择器,然后是类/属性选择器/伪类,最后是元素和伪元素选择器。高层级永远胜过低层级,无论低层级选择器堆叠多少个,所以 1 个 ID(0,1,0,0)永远赢过 20 个类(0,0,20,0)。

为什么我的两条选择器优先级相同?

当优先级完全相等时,CSS 会退回到源码顺序:样式表中出现在后面(或后添加)的规则获胜。这个工具按你粘贴的顺序对平局进行排序,与这一行为保持一致。

这会把我的 CSS 发送到别的地方吗?

不会。选择器完全在你的浏览器中通过一个小型 JavaScript 分词器解析和计分,不会上传任何内容。