繼承
css某些屬性具有繼承的特點,它允許樣式不僅應(yīng)用于某個特定html標(biāo)簽元素,而且應(yīng)用于其后代。
如以下代碼,不僅< p>標(biāo)簽文字變色,< span>標(biāo)簽也會變色。
p{color:red;}
<p>俱往矣,<span>數(shù)風(fēng)流人物,</span>還看今朝。</p>
但是有些屬性不具有繼承性,如:
p{color:red;border:1px solid red;}
<p>俱往矣,<span>數(shù)風(fēng)流人物,</span>還看今朝。</p>
效果:

如果想< span>標(biāo)簽也加邊框,需要單獨設(shè)置:
<p>俱往矣,<span style="border:1px solid blue">數(shù)風(fēng)流人物,</span>還看今朝。</p>
效果:

特殊性-權(quán)值
權(quán)值的存在,決定了我們在對同一個標(biāo)簽設(shè)置不同的css樣式時會使用哪一個,如:
p{color:red;}
.first{color:green;}
<p class="first">俱往矣,數(shù)風(fēng)流人物,還看今朝。</p>
效果會是綠色,原因就是權(quán)值的存在
標(biāo)簽的權(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)值最小,小于1
層疊
上面講了權(quán)值,那么會有一個問題,如果權(quán)值一樣的結(jié)果會怎樣呢?層疊就是當(dāng)權(quán)值一樣的時候后定義的樣式會覆蓋前面定義的樣式,如:
p{color:red;}
p{color:green;}
<p>數(shù)風(fēng)流人物,還看今朝。</p>
字體會是綠色
這樣就可以理解css樣式優(yōu)先級了:
內(nèi)聯(lián)樣式表(標(biāo)簽內(nèi)部)> 嵌入樣式表(當(dāng)前文件中)> 外部樣式表(外部文件中)
注意:
如果有些情況,我們不希望后面的覆蓋前面的樣式,我們可以定義最高權(quán)值,使用!important,如:
p{color:red!important;}
p{color:green;}
<p>數(shù)風(fēng)流人物,還看今朝。</p>
這樣字體就會是紅色了