CSS 知识

选择器的特殊性

根据选择器的特殊性决定规则的次序。具有更特殊选择器的规则优先于具有一般选择器的规则。如果两个规则的特殊性相同,那么后定义的规则优先。

选择器的特殊性分成4个成分等级:a、b、c 和 d。

  • 如果样式是行内样式,那么 a = 1.
  • b 等于 ID 选择器的总数。
  • c 等于类、伪类和属性选择器的数量。
  • d 等于类型选择器和伪元素选择器的数量。
特殊性示例
-----------------------------------------------------
|  选择器                              |  特殊性      |
|-------------------------------------|-------------|
|  style=""                           |  1,0,0,0    |
|  #wrapper #content {}               |  0,2,0,0    |
|  #content .datePosted {}            |  0,1,1,0    |
|  div#content {}                     |  0,1,0,1    |
|  #content {}                        |  0,1,0,0    |
|  p.comment .datePosted {}           |  0,0,2,1    |
|  p.comment {}                       |  0,0,1,1    |
|  div p {}                           |  0,0,0,2    |
|  p {}                               |  0,0,0,1    |
-----------------------------------------------------

参考文献

Andy Budd, Simon Collison, Cameron Moll, 陈剑瓯(译). 精通 CSS 高级 Web 标准解决方案. 人民邮电出版社.