日期:2013-09-10  浏览次数:21019 次

Specificity

本节讲述的是用来判断款式优先权的是“specificity”“specificity”和选择符selector中元素的数目以及元素的属性有关,“specificity”高的优先使用。

怎样计算选择符的“specificity”值呢?涉及到三项内容:

1.选择符中ID标识符属性的数目A

留意:一个婚配ID的属性选择符不能算作一个ID,它仅能当作一个属性选择符.例如"id = value"的specificity值远远小于"#_value"

2.选择符中其它属性、伪类的数目B

留意:Class类选择符是属性选择符的一种.

3.选择符中标识、伪元素的数目C

例外:如果款式规则内嵌到一个式样属性内,它并不具备selector、此时它的specificity要比其它任何selector都高.

这三个值通过逗号“连”在一同构成一个加权值。举例如下:

ABCSpecificity
#blurb { ...}1101,0,0
.message.big { ... }0110,1,1
div.message { ... }0110,1,1
.message { ... }0100,1,0
div { ... } 0010,0,1
* { ... }0000,0,0
#id1 { ... }1001,0,0
UL UL LI.red { ... }0130,1,3
LI.red { ... }0110,1,1
LI { ... }0010,0,1
#z { ... }1001,0,0
UL LI { ... }0020,0,2
UL OL+LI { ... }0030,0,3
H1 + *[REL=up]{ ... }0110,1,1
UL OL LI.red { ... }0130,1,3
LI.red.level { ... }0210,2,1
#x34y { ... }1001,0,0
H1 {(simple selector)}