CSS的特性之層疊性介紹

千鋒武漢發表於2021-05-11

      初學者在學習到CSS的時候會了解到它具有繼承性、層疊性、優先順序等等不同的屬性,如果不瞭解這些屬性會導致我們在使用它的時候出現各種各樣的問題,今天小千就來給大家介紹一下CSS的層疊性屬性。

      CSS層疊性的概念:

      有多個選擇器或一個選擇器對某個或某幾個標籤中的多條樣式進行選擇,如果多個選擇器都賦給某個或某幾個標籤相同屬性,樣式的作用範圍發生了重疊

      CSS層疊性的體現:

      1.樣式無衝突

css樣式1

      以上程式碼中,樣式程式碼並無衝突,兩個選擇器中的所有樣式都疊加到了元素div上,div最終呈現的是一個紅色的,寬高度大小為100px的容器。

      2.樣式有衝突

      樣式有衝突,同一級別不受優先順序影響時

css樣式2

      以上程式碼中,在同級別時(同個元素,同是class定義選擇器名稱),樣式程式碼出現衝突,兩個選擇器中出現同一條width屬性,則以CSS程式碼中最後出現的那條樣式為準,div最終呈現的是一個width為200px,height為100px,紅色的容器。

      樣式有衝突,不同級別受優先順序(權重)的影響時, CSS規定基本選擇器的優先順序從低到高排序為:元素(標記)樣式 < 類別(class)樣式 < ID樣式 < 行內樣式 < !important。

      2-1:類別(class)樣式 VS 元素(標記)樣式

css樣式3

      以上程式碼中,class樣式的優先順序大於元素樣式的優先順序,即使div設定的width寫在後面,最終呈現的是一個width:200px,height:100px;背景色為紅色的容器。

      2-2:ID樣式 VS 類別(class)樣式

css樣式4

      以上程式碼中,ID樣式的優先順序大於class樣式的優先順序,最終呈現的是一個width:200px,height:100px;背景色為黃色的容器。

      2-3:行內樣式 VS ID樣式

css樣式5

      以上程式碼中,CSS行內樣式優先於ID的樣式,div最終呈現的是一個寬度為200px,高度100px,背景顏色為粉色的容器。

      2-4: !important VS 行內樣式

css樣式6

      在CSS中,!important具有最高優先順序,並且可以寫在任意一條有衝突樣式的後面。在以上程式碼中,div在行內樣式表設定背景色為粉色,ID樣式中width為200px;但是在class樣式中,width:100px及背景色為red的後面都新增了!important,因此,最終呈現的是一個寬度為100px,高度為100px,背景色為紅色的容器。

      以上就是css層疊性的幾種不同情況的介紹了,同學們在開發過程中遇到的問題基本都在上面的情況中了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2771684/,如需轉載,請註明出處,否則將追究法律責任。

相關文章