CSS 優先級判斷

在面試中被問到這個問題 來記錄下  發現本身以前之因此會忘記仍是缺乏理解的記憶   面試

參考 CSS權威指南spa

一個CSS選擇器的特殊性值表述爲4個部分  0 0 0 03d

  • 對於選擇器中給定的各個ID的屬性值  加 0 1 0 0
  • 對於選擇器中給定的各個屬性值,屬性選擇或者僞類  加 0 0 1 0
  • 對於選擇器中給定的各個元素和僞元素 加 0 0 0 1
  • 結合符和通配選擇器對特殊性沒有貢獻
  • 內聯聲明的特殊性最高 1 0 0 0

咱們能夠使用!important來定義重要聲明  重要聲明必定會勝出非重要聲明  重要聲明的衝突在重要聲明內部解決code

        h1 {
            background: red !important;
        }
        h1 {
            background: green !important;
        }//h1 會顯示爲綠色

繼承機制blog

  基於繼承的機制,咱們設定的樣式不只能應用到指定的元素上,還能應用到它的後代元素 可是繼承沒有特殊性  相對於通配符*的0特殊性 這就容易出現問題繼承

        * {
            background: green;
        }
        h1 {
            background: red;
        }

上面演示了通配符選擇器出現的短路繼承的現象class

相關文章
相關標籤/搜索