HTML+CSS 輕松入門之特殊性
有的時候我們?yōu)橥粋€元素設(shè)置了不同的CSS樣式代碼,那么元素會啟用哪一個CSS樣式呢?我們來看一下面的代碼
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>特殊性</title> <style type="text/css"> p{color:red;} .first{ color:green; /*因為權(quán)值高顯示為綠色*/ } span{ color:pink; /*設(shè)置為粉色*/ } </style> </head> <body> <h1>勇氣</h1> <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小孩, 上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個勇氣來回答老師提出的問題。學(xué)校舉辦的活動我也沒勇氣參加。</p> <p id="second">到了三年級下學(xué)期時,我們班上了一節(jié)公開課,老師提出了一個很簡單的問題,班里很多同學(xué)都舉手了,甚至成績比我差很多的, 也舉手了,還說著:"我來,我來。"我環(huán)顧了四周,就我沒有舉手。</p> </body> </html>
p和.first都匹配到了p這個標簽上,那么會顯示哪種顏色呢?green是正確的顏色,那么為什么呢?是因為瀏覽器是根據(jù)權(quán)值來判斷使用哪種css樣式的,權(quán)值高的就使用哪種css樣式。
下面是權(quán)值的規(guī)則:
標簽的權(quán)值為1,類選擇符的權(quán)值為10,ID選擇符的權(quán)值最高為100。例如下面的代碼
p{color:red;} /*權(quán)值為1*/
p span{color:green;} /*權(quán)值為1+1=2*/
.warning{color:white;} /*權(quán)值為10*/
p span.warning{color:purple;} /*權(quán)值為1+1+10=12*/
#footer .note p{color:yellow;} /*權(quán)值為100+10+1=111*/
注意:還有一個權(quán)值比較特殊--繼承也有權(quán)值但很低,有的文獻提出它只有0.1,所以可以理解為繼承的權(quán)值最低