CSS

HTML5+CSS3——第9章 CSS3的繼承,優先級和重要性

字號+ 編輯: Snake 修訂: 人在硅谷 來源: 慕课网 2023-09-10 我要說兩句(0)

CSS的某些樣式是具有繼承性的,那麽什麽是繼承呢?選擇器的優先級以及權值都是什麽呢?

9-1 樣式的繼承

CSS的某些樣式是具有繼承性的,那麽什麽是繼承呢?

繼承是一種槼則,它允許樣式不僅應用於某個特定html標簽元素,而且應用於其後代。

如某種顔色應用於p標簽,這個顔色設置不僅應用p標簽,還應用於p標簽中的所有子元素文本,這裡子元素爲span標簽。

p{color:red;}
<p>三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

可見右側結果窗口中p中的文本與span中的文本都設置爲了紅色。

但注意有一些css樣式是不具有繼承性的。如border:1px solid red;

p{border:1px solid red;}
<p>三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

代碼的作用只是給p標簽設置了邊框爲1像素、紅色、實心邊框線,而對於子元素span是沒用起到作用的。

9-2 選擇器的優先級

學過很多CSS3選擇器,每個選擇器是有優先級的。

CSS3中選擇器的優先級,我們先來看一個例子:

<body>
<!--我們給一個div分別設置了id、class屬性,然後寫了行内樣式-->
<div id="box" class="dv" style="color:orange">
我是一個idv
</div>
</body>
<style>
/*我們分別使用id選擇器、類選擇器、標簽選擇器、通配符選擇器給div設置不同的字體顔色*/
#box{
color:red;
}
.dv{
color:blue;
}
div{
color:black;
}
*{
color:green;
}
</style>

圖片19.png

技術點的解釋

1、如果一個元素使用了多個選擇器,則會按照選擇器的優先級來給定樣式。

2、選擇器的優先級依次是: 内聯樣式 > id選擇器 > 類選擇器 > 標簽選擇器 > 通配符選擇器

9-3 權值計算-特殊性

爲同一個元素設置不同的CSS樣式代碼,元素會啓用哪一個CSS樣式呢?

下面我們一起來看一下代碼:

p{color:red;}
.first{color:green;}
<p>三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

p和.first都匹配到了p這個標簽上,那麽會顯示哪種顔色呢?green是正確的顔色,那麽爲什麽呢?

是因爲瀏覽器是根據權值來判斷使用哪種css樣式的,權值高的就使用哪種css樣式。

下面是權值的槼則:

標簽的權值爲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*/

注意:還有一個權值比較特殊--繼承也有權值但很低,有的文獻提出它只有0.1,所以可以理解爲繼承的權值最低。

9-4 選擇器最高層級!important

我們在做網頁代碼的時,有些特殊的情況需要爲某些樣式設置具有最高權值,怎麽辦?

這時候我們可以使用!important來解決。

如下代碼:

p{color:red!important;}
p{color:green;}
<p>三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

這時 p 段落中的文本會顯示的red紅色。

注意:!important要寫在分號的前面

這裡注意當網頁制作者不設置css樣式時,瀏覽器會按照自己的一套樣式來顯示網頁。並且用戶也可以在瀏覽器中設置自己習慣的樣式,比如有的用戶習慣把字號設置爲大一些,使其查看網頁的文本更加清楚。這時注意樣式優先級爲:瀏覽器默認的樣式 < 網頁制作者樣式 < 用戶自己設置的樣式,但記住!important優先級樣式是個例外,權值高於用戶自己設置的樣式。

閲完此文,您的感想如何?
  • 有用

    0

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 多個高度相同, 屬性inline-block的div,有的div沒有内容而有的div有内容,有内容的會下沉?

  • 讓整個網頁全局變成黑白色調的css代碼

  • CSS生成内容

  • CSS3外輪廓屬性

我要說說
網上賓友點評