1、特殊性 權(quán)值
有的時(shí)候我們?yōu)橥粋€(gè)元素設(shè)置了不同的CSS樣式代碼,那么元素會(huì)啟用哪一個(gè)CSS樣式呢?我們來(lái)看一下面的代碼:
XML/HTML Code復(fù)制內(nèi)容到剪貼板
p{color:red;}
.first{color:green;}
<p class="first">三年級(jí)時(shí),我還是一個(gè)<span>膽小如鼠</span>的小女孩。</p>
p和.first都匹配到了p這個(gè)標(biāo)簽上,那么會(huì)顯示哪種顏色呢?green是正確的顏色,那么為什么呢?是因?yàn)闉g覽器是根據(jù)權(quán)值來(lái)判斷使用哪種css樣式的,權(quán)值高的就使用哪種css樣式。
下面是權(quán)值的規(guī)則:
標(biāo)簽的權(quán)值為1,類選擇符的權(quán)值為10,ID選擇符的權(quán)值最高為100。例如下面的代碼:
CSS Code復(fù)制內(nèi)容到剪貼板
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*/
注意:還有一個(gè)權(quán)值比較特殊–繼承也有權(quán)值但很低,有的文獻(xiàn)提出它只有0.1,所以可以理解為繼承的權(quán)值最低。
2、層疊
如果在html文件中對(duì)于同一個(gè)元素可以有多個(gè)css樣式存在并且這多個(gè)css樣式具有相同權(quán)重值怎么辦?好,這一小節(jié)中的層疊幫你解決這個(gè)問(wèn)題。
層疊就是在html文件中對(duì)于同一個(gè)元素可以有多個(gè)css樣式存在,當(dāng)有相同權(quán)重的樣式存在時(shí),會(huì)根據(jù)這些css樣式的前后順序來(lái)決定,處于最后面的css樣式會(huì)被應(yīng)用。
如下面代碼:
CSS Code復(fù)制內(nèi)容到剪貼板
p{color:red;}
p{color:green;}
<p class="first">三年級(jí)時(shí),我還是一個(gè)<span>膽小如鼠</span>的小女孩。</p>
最后 p 中的文本會(huì)設(shè)置為green,這個(gè)層疊很好理解,理解為后面的樣式會(huì)覆蓋前面的樣式。
所以前面的css樣式優(yōu)先級(jí)就不難理解了:
內(nèi)聯(lián)樣式表(標(biāo)簽內(nèi)部)> 嵌入樣式表(當(dāng)前文件中)> 外部樣式表(外部文件中)。
3、重要性
我們?cè)谧鼍W(wǎng)頁(yè)代碼的時(shí),有些特殊的情況需要為某些樣式設(shè)置具有最高權(quán)值,怎么辦?這時(shí)候我們可以使用!important來(lái)解決。
如下代碼:
CSS Code復(fù)制內(nèi)容到剪貼板
p{color:red!important;}
p{color:green;}
<p class="first">三年級(jí)時(shí),我還是一個(gè)<span>膽小如鼠</span>的小女孩。</p>
這時(shí) p 段落中的文本會(huì)顯示的red紅色。
新聞熱點(diǎn)
疑難解答
圖片精選