日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

css选择器的优先级

發布時間:2023/12/19 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 css选择器的优先级 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 引言

  選擇器類型過多將導致一些問題,是什么問題呢?咱們直接舉例子說明。

  

  上圖中,css中的兩個選擇器都是針對<span>的,而且兩個設置的顏色不一樣,這里的<span>到底聽從誰的命令?

  上面還是比較簡單的,下面在來一個復雜的:

  

  上圖中的<li>該顯示成什么顏色呢?

2. 特指度

  要解決以上問題,我們需要引入一個概念——特指度(specificity)。特指度表示一個css選擇器表達式的重要程度,可以通過一個公式來計算出一個數值,數越大,越重要。

  這個計算叫做“I-C-E”計算公式,

  • I——Id;
  • C——Class;
  • E——Element;
  •   即,針對一個css選擇器表達式,遇到一個id就往特指度數值中加100,遇到一個class就往特指度數值中加10,遇到一個element就往特指度數值中加1。

      下面舉幾個css表達式的特指度計算結果,大家也自己算一算,是不是對:

    CSS選擇器表達式

    特指度計算結果

    p

    1

    p.large

    11

    P#large

    101

    div p#large

    102

    div p#large ul.list

    113

    div p#large ul.list li

    114

      還有一個重點要注意:!important優先級最高,高于上面一切。* 選擇器最低,低于一切。

      好了,你現在可以返回文章一開始提出的兩個問題,根據特指度計算公式計算,哪個的計算結果大,瀏覽器就會以哪個為優先。

    3. 簡版規則

      如果你嫌上面的計算過于復雜,有一個簡版規則。它只有三個規則,這三個規則能覆蓋大多數情況,而且比較好記。

      規則一,包含ID的選擇器勝過包含Class的選擇器,包含Class的選擇器勝過包含元素的選擇器;例如下圖,第一個特指度更高:

      

      規則二,不同選擇器的特指度比較時,不區分加載的順序(相同選擇器在層疊時,后加載的覆蓋前加載的),例如下圖,雖然后加載,但是特指度低:

      

      規則三,設置的樣式高于繼承的樣式,不用考慮特指度。例如:

    ??????

    ??????

      其實,大部分情況下,你通過這個簡版的規則,即可判斷選擇器的優先級。

    轉載于:https://www.cnblogs.com/jiqing9006/p/5398708.html

    總結

    以上是生活随笔為你收集整理的css选择器的优先级的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。