CSS选择符及优先级计算

行内样式(Inline Style),如<span style="color:red">...</span>;
ID选择符(ID selectors),如#myid;
类、属性选择符、伪类(Classes, attributes and pseudo-classes),如 .class {...}、[href$=dudo.org]、:hover;
类型(elements)、伪类型选择符(pseudo-elements),如 p {...}、:first-line {...};


他们的优先级怎么来测量呢?如前所述,它们每一类都有不同的数值表示,其中:
行内样式为:1000
ID选择符为:0100
类选择符为:0010
类型选择符为:0001
这里要指出的是,所有这些数值都不是10进制数字,1000只是代码,它是一个行内样式,


例如,body #wrap p {...},那么它的优先级指数就是 1+100+1=102,而body div #wrap p {...}的优先级指数就是 1+ 1 +100 + 1 =103。
再看一下其它的例子:
* { } 0
li:first-line { }      2 (one element, one pseudo-element)
ul ol+li { }           3 (three elements)
ul ol li.red { }     13 (one class, three elements)
style=””        1000 (one inline styling)
div p { }                2 (two HTML selectors)
div p.sith { }      12 (two HTML selectors and a class selector)
body #darkside .sith p { }    112 (HTML selector, id selector, class selector, HTML selector; 1+100+10+1)


看这段代码:
<html>
<head>
<style type="text/css">
       #wrap #content {color: blue;}
       #content {color: red;}
</style>
</head>
<body>
<div id="wrap">
      <div id="content">this is a text here</div>
</div>
</body>
</html>
代码将显示蓝色。

你可能感兴趣的:(css)