HTML5 CSS的繼承,特殊性和層疊

繼承

css某些屬性具有繼承的特點,它允許樣式不僅應用于某個特定html標簽元素,而且應用于其后代。
如以下代碼,不僅< p>標簽文字變色,< span>標簽也會變色。

p{color:red;}

<p>俱往矣,<span>數風流人物,</span>還看今朝。</p>

但是有些屬性不具有繼承性,如:

p{color:red;border:1px solid red;}

<p>俱往矣,<span>數風流人物,</span>還看今朝。</p>

效果:


如果想< span>標簽也加邊框,需要單獨設置:

<p>俱往矣,<span style="border:1px solid blue">數風流人物,</span>還看今朝。</p>

效果:


特殊性-權值

權值的存在,決定了我們在對同一個標簽設置不同的css樣式時會使用哪一個,如:

p{color:red;}
.first{color:green;}
<p class="first">俱往矣,數風流人物,還看今朝。</p>

效果會是綠色,原因就是權值的存在
標簽的權值為1,類選擇符的權值為10,ID選擇符的權值最高為100。例如下面的代碼:

p{color:red;} /*權值為1*/
p span{color:green;} /*權值為1+1=2*/
.warning{color:white;} /*權值為10*/
p span.warning{color:purple;} /*權值為1+1+10=12*/
#footer .note p{color:yellow;} /*權值為100+10+1=111*/

繼承的權值最小,小于1


層疊

上面講了權值,那么會有一個問題,如果權值一樣的結果會怎樣呢?層疊就是當權值一樣的時候后定義的樣式會覆蓋前面定義的樣式,如:

p{color:red;}
p{color:green;}
<p>數風流人物,還看今朝。</p>

字體會是綠色
這樣就可以理解css樣式優先級了:
內聯樣式表(標簽內部)> 嵌入樣式表(當前文件中)> 外部樣式表(外部文件中)

注意:

如果有些情況,我們不希望后面的覆蓋前面的樣式,我們可以定義最高權值,使用!important,如:

p{color:red!important;}
p{color:green;}
<p>數風流人物,還看今朝。</p>

這樣字體就會是紅色了

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,806評論 1 92
  • CSS基礎 本文包括CSS基礎知識選擇器(重要!!!)繼承、特殊性、層疊、重要性CSS格式化排版單位和值盒模型浮動...
    廖少少閱讀 3,191評論 0 40
  • 本文主要是起筆記的作用,內容來自慕課網. 認識CSS樣式 CSS全稱為“層疊樣式表 (Cascading Styl...
    0o凍僵的企鵝o0閱讀 2,664評論 0 30
  • 免草稿,圓珠筆直涂螃蟹。按照點陣打印順序,眼睛,身體,右側,左側順序,人肉打印模式啟動,用圓珠筆直接涂鴉螃蟹???一...
    老劉涂鴉閱讀 490評論 0 2
  • 這次有幾個朋友來晚了,其中有位朋友給我們講述了在來的路上的兩起車禍的見聞!感嘆人生無常!我們6個人用了很短的時間做...
    劉益辰閱讀 188評論 0 0