CSS三大特性 : 繼承,層疊,優先級
一. 繼承性
1.什么是繼承性?
作用: 給父元素設置一些屬性, 子元素也可以使用, 這個我們就稱之為繼承性
注意點:
- 1.并不是所有的屬性都可以繼承, 只有以<strong>
color/font-/text-/line-
</strong>開頭的屬性才可以繼承 - 2.在CSS的繼承中不僅僅是兒子可以繼承, 只要是后代都可以繼承
- 3.<strong>繼承性中的特殊性</strong>
- 3.1
a
標簽的文字顏色和下劃線是不能繼承的(<strong>也就是說 不能通過繼承獲得</strong>) - 3.2
h
標簽的文字大小是不能繼承的(<strong>也就是說 不能通過繼承獲得</strong>)
應用場景:
一般用于設置網頁上的一些共性信息, 例如網頁的文字顏色, 字體,文字大小等內容;
body{} >>>
一般在body
里面設置共性信息
二. 層疊性
1.什么是層疊性?
作用: 層疊性就是CSS處理沖突的一種能力
注意點:
層疊性只有在多個選擇器選中"同一個標簽", 然后又設置了"相同的屬性", 才會發生層疊性
CSS全稱 Cascading StyleSheet (層疊式樣式表)
列如:
<style>
p{
color: red;
}
.para{
color: blue;
}
</style>
<p id="identity" class="para">我是段落</p>
三. 優先級
1.什么是優先級?
作用:當多個選擇器選中同一個標簽, 并且給同一個標簽設置相同的屬性時, 如何層疊就由優先級
來確定
2.優先級判斷的三種方式
- 2.1間接選中就是指繼承
如果是間接選中, 那么就是誰離目標標簽比較近就聽誰的 - 2.2相同選擇器(直接選中)
如果都是直接選中, 并且都是同類型的選擇器, 那么就是誰寫在后面就聽誰的 - 2.3不同選擇器(直接選中)
如果都是直接選中, 并且不是相同類型的選擇器, 那么就會按照選擇器的優先級來層疊:
id>類>標簽>通配符>繼承>瀏覽器默認
id>類>標>通>繼>瀏
四. !important
1.什么是
!important
作用: 用于提升某個直接選中標簽的選擇器中的某個屬性的優先級的, 可以將被指定的屬性的優先級提升為最高
注意點:
- 1.
!important
只能用于直接選中, <strong>不能用于間接選中</strong> - 2.通配符選擇器選中的標簽也是直接選中的,也可以用
!important
提升優先級 - 3.
!important
只能提升被指定的屬性的優先級, 其它的屬性的優先級不會被提升 - 4.
!important
必須寫在屬性值得分號前面 - 5.
!importan
t前面的感嘆號不能省略
<style>
p{
color: red !important; //提升優先級到最高
font-size: 30px; //不會提升優先級(說明了上面的第3點)
}
</style>
五. 優先級的權重
1.什么是優先級的權重?
作用: 當多個選擇器混合在一起使用時, 我們可以通過計算權重來判斷誰的優先級最高
2.權重的計算規則
- 2.1首先先計算選擇器中有多少個id, id多的選擇器優先級最高
- 2.2如果id的個數一樣, 那么再看類名的個數, 類名個數多的優先級最高
- 2.3如果類名的個數一樣, 那么再看標簽名稱的個數, 標簽名稱個數多的優先級最高
- 2.4如果id個數一樣, 類名個數也一樣, 標簽名稱個數也一樣, 那么就不會繼續往下計算了, 那么此時誰寫在后面聽誰的
也就是說優先級如果一樣, 那么誰寫在后面聽誰的
注意點:
- 1). 只有選擇器是直接選中標簽的才需要計算權重,
否則一定會聽直接選中的選擇器的
; - 2). 通配符的權重為0