声明和特殊性

2017-04-11  本文已影响0人  小金鱼要努力

选择器的特殊性:

1.对于选择其中给定的各个ID属性值,加0,1,0,0

2.对于选择器中给定的各个类属性值、属性选择或伪类,加0,0,1,0

3.对于选择器中给定的各个元素和伪元素,加0,0,0,1

4.结合符和通配符选择器对于特殊性没有任何贡献,特殊性为0。

5.内联样式特殊性为1,0,0,0

例子:

(a) h1{color:red;} /*0,0,0,1*/

     body h1{color:green;} /*0,0,0,2(winner)*/

(b) h2 .grape{color:purple;} /*0,0,1,1(winner)*/

     h2{color:siliver;} /*0,0,0,1*/

(c) html > body table tr[id="totals"] td ul > li {color:maroon;} /*0,0,1,7*/

     li #answer{color:navy;} /*0,1,0,1(winner)*/

注意:

继承的值没有特殊性,所以比0特殊性还弱。

*{color: gray;}

h1 #page-title{color:black;}

<h1 id="page-title">Meerkat <em>Central</em></h1>

Meerkat会显示为黑色,但是Central会显示为灰色,因为通配符特殊性为0,强于继承的黑色。

!important

!important: 有时某个声明非常重要,超过了所有其他声明,CSS2.1称之为重要声明,并允许在这些声明的结束分号之前插入!important来标志。

p.dark{color: #333 !important; background: white;} :仅仅color是重要声明,如果background也要标志为重要,需要在white后,分号前加上!important。

上一篇下一篇

猜你喜欢

热点阅读