本网站上有很多关于特异性的信息。 其中最具代表性的是 CSS 特异性详解,该文章多年来已更新过几次。 在 2008 年最初发布时,它以某种误导性的方式呈现了信息。 现在它早已得到修复,但错误本身仍然很有趣。
最初的文章将特异性显示为一个整数,因此像 #main article.news p:first-child
这样的选择器将被列为 0122
,表示 1 个 ID、2 个类和 2 个元素。 错误在哪里?这使得它看起来像一个十进制系统。假设特异性值为 0129——如果它是一个十进制系统,添加一个元素选择器将使其变为 0130,这绝对不是发生的事情。
Jonathan Snook 最初纠正了我
…如果你有一个应用了 11 个类的元素,它不会超过具有单个 ID 选择器的元素。
以及 Eric Meyer 证实了
特异性不是十进制的。它不是任何熟悉的基数:事实上,特异性值具有无限基数。
(你甚至可以在那个评论线程中找到一个正在孵化的 Harry Roberts!)
撰写关于特异性的技巧是使用逗号,这样它看起来就不会像一个数字。0122
最好写成 0, 1, 2, 2
。后续更新文章中的图表更好

第一位表示元素是否具有内联样式,所以这实际上只是 0 或 1,但其余的理论上是无限的。我想它会是这样的
[0 or 1], ∞, ∞, ∞
较高列中的数字可以胜过任何较低列的数字。0, 1, 0, 0
胜过 0, 0, 312, 54659392
。这正是为什么人们如此喜欢完全不使用 ID并保持特异性扁平化。
++
超级更新 Chris!只有一件小事。
“较高列中的数字可以胜过任何较低列的数字。0, 1, 0, 0 胜过 0, 0, 312, 54659392”
这对于以下情况并不完全正确
所有版本的 Internet Explorer
所有版本的 Firefox
Google Chrome < 24
Safari OS X < 6.1
Safari iOS < 7
Android < 4.4
其中 256 个类胜过单个 ID。
我前几天发布了一篇关于它的博文。
https://pawelgrzybek.com/css-specificity-explained/
在这些版本中这可能是真的,但它被认为是一个错误,在现实世界中,我怀疑(希望)你永远不会遇到 256 个类的选择器 :)
我同意 Brendan。这就是为什么我添加了注释“完全没用”:) 但是“有效”。
所以这意味着特异性是 256 基数(不包括内联样式)?
我今天才注意到这一点,但是当你运行 CSS Dig 并检查“选择器”选项卡时,它实际上会像这样拆分特异性。它还可以让你按特异性排序。
http://cssdig.com/
JustinTVizleHD
justintvizlehd 为您提供最佳的比赛体验……您可以观看直播联赛电视、关注直播比赛,最重要的是,您可以体验到流畅的足球乐趣……它还允许您以最高质量观看直播联赛电视比赛……
http://justintvizlehd.com/
您好,
我正在我的网站上使用它。这只是我的业务。谢谢!
我正在我的网站上使用它。这只是我的业务。谢谢朋友!
http://www.halilzafer.net/blog