選擇器的特殊性:
1.對于選擇其中給定的各個ID屬性值,加0,1,0,0
2.對于選擇器中給定的各個類屬性值、屬性選擇或偽類,加0,0,1,0
3.對于選擇器中給定的各個元素和偽元素,加0,0,0,1
4.結(jié)合符和通配符選擇器對于特殊性沒有任何貢獻(xiàn),特殊性為0。
5.內(nèi)聯(lián)樣式特殊性為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稱之為重要聲明,并允許在這些聲明的結(jié)束分號之前插入!important來標(biāo)志。
p.dark{color: #333 !important; background: white;} :僅僅color是重要聲明,如果background也要標(biāo)志為重要,需要在white后,分號前加上!important。