TEST12138

TEST12138

长路漫漫,唯心作伴。

前端基礎之CSS 樣式層疊算法

層疊是幹什麼的呢?
是用來解決樣式衝突的
分為三個部分,比較順序是

  1. 優先級
  2. 特殊性(權重?特定性?網上說法不一)
  3. 源次序

首先是優先級,優先級能解決的,不用去比較後面的
優先級的比較順序是

  1. 作者樣式表!important
  2. 默認樣式表!important
  3. 作者樣式表
  4. 默認樣式表

優先級比較完還有衝突的話,就要比較特殊性
這裡比較的話,會生成四個數字比較(?,?,?,?)
樣式衝突的時候,會從第一個值開始比大小,哪個值大是哪個,一樣的話比下一位
第一個數字只能是 0 或者 1,當寫到內聯樣式裡時是 1,沒有就是 0,所以一般比較時沒有內聯樣式的話都是三個值比較(?,?,?)
第二個是選擇器裡 ID 的數量
第三個是選擇器裡類選擇器和偽類選擇器以及屬性選擇器的數量
最後一個是選擇器裡的元素選擇器數量

如果特殊性還沒有比較出來,那就要比較源次序
就是在源代碼裡書寫的順序後書寫的覆蓋先書寫的

ok, 比較順序就是這樣,最後給大家一個特殊性比較快速方法,不用自己算半天
打開 vscode,鼠標放到你寫的 css 上面

image

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。