CSS选择符及优先级计算

来源:互联网 发布:中国工控网软件下载 编辑:程序博客网 时间:2024/05/17 00:10

行内样式(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>
代码将显示蓝色。



源引:http://www.cnblogs.com/netlyf/archive/2009/06/19/1506427.html

0 0
原创粉丝点击