CSS的三大特徵&標籤的顯示模式
阿新 • • 發佈:2021-07-08
CSS的三大特徵
1.1 CSS層疊性
概念:是指CSS樣式的層疊。這種特性只針對出現樣式衝突的情況,遵循就近原則顯示樣式。
比如:如果一個屬性通過兩個相同選擇器設定到同一個元素上,那麼這個時候一個屬性就會將另一個屬性層疊掉。
簡單來講就是:長江後浪推前浪,只顯後浪無前浪。
1.2 CSS繼承性
概念:子標籤會繼承父標籤的某些樣式,想要設定一個可繼承的屬性,只需將它應用於父元素即可(子承父業)。
優點:恰當地使用繼承可以簡化程式碼,降低CSS樣式的複雜性。
比如有很多子級孩子都需要某個樣式,可以給父級指定一個,這些孩子繼承過來就好了。
一般用於對文字、字型、顏色等屬性可以使用。
1.3 CSS優先順序
-
選擇器相同,則執行層疊性
-
計算權重公式 |
關於CSS權重,我們需要一套計算公式來去計算,這個就是 CSS Specificity(特殊性) div {color: pink!important |
|
---|---|---|
繼承或者 * | 0,0,0,0 | |
每個元素(標籤選擇器) | 0,0,0,1 | |
每個類,偽類 | 0,0,1,0 | |
每個ID | 0,1,0,0 | |
每個行內樣式 style="" | 1,0,0,0 | |
每個!important 重要的 |
經常用交集選擇器,後代選擇器等,是有多個基礎選擇器組合而成,那麼此時,就會出現權重疊加。
就是一個簡單的加法計算
-
div ul li ------> 0,0,0,3
-
.nav ul li ------> 0,0,1,2
-
a:hover -----—> 0,0,1,1
-
.nav a ------> 0,0,1,1
數位之間沒有進位制 比如說: 0,0,0,5 + 0,0,0,5 =0,0,0,10 而不是 0,0, 1, 0 , 所以不會存在10個div能趕上一個類選擇器的情況
CSS標籤的顯示模式
我們網頁的標籤非常多,在不同的地方會有不同的顯示需求。標籤的顯示模式表示標籤以什麼方式進行顯示。比如div 自己佔一行, 比如span 一行可以放很多個。
2.1
塊級元素的特點
注意:
|
行內元素(inline-level)
行內元素的特點:
注意:
|
2.3
|
2.4 三種模式總結區別
元素排列 | 設定樣式 | 預設寬度 | 包含 | |
---|---|---|---|---|
塊級元素 | 一行只能放一個塊級元素 | 可以設定寬度高度 | 容器的100% | 容器級可以包含任何標籤 |
行內元素 | 一行可以放多個行內元素 | 不可以直接設定寬度高度 | 它本身內容的寬度 | 容納文字或則其他行內元素 |
行內塊元素 | 一行放多個行內塊元素 | 可以設定寬度和高度 | 它本身內容的寬度 |
2.5
-
-
行內轉塊:display:block;
-