css樣式優先級計算規則


css樣式的優先級分為引入優先級聲明優先級


引入優先級

引入樣式一般分為外部樣式內部樣式內聯樣式

外部樣式:使用link引入的外部css文件。

內部樣式:使用style標簽書寫的css樣式。

內聯樣式:直接書寫在html標簽里面的css樣式。


優先級如下:

內聯樣式 > 外部樣式 = 內部樣式

外部樣式優先級和內部樣式優先級相同,故寫在后面的樣式會覆蓋前面的樣式。


聲明優先級

一般優先級如下:

  • !important > 內聯 > ID > Class|屬性|偽類 > 元素選擇器
  • :link、:visited、:hover、:active 按照LVHA順序定義

優先級算法:

等級 內聯選擇器 ID選擇器 類選擇器/屬性選擇器/偽類 元素選擇器
示例 <span style="color:red;"></span> #sp{color:red} .sp{color:red}
[type="text"]{color:red}
:nth-of-type(1){color:red}
span{color:red}
優先級 1-0-0-0 0-1-0-0 0-0-1-0 0-0-0-1

注意:

**通配符 * 的優先級為 0-0-0-0,但是優先級大於繼承樣式優先級。++

優先級算法示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        a{color: yellow;} /*特殊性值:0,0,0,1*/
        div a{color: green;} /*特殊性值:0,0,0,2*/
        .demo a{color: black;} /*特殊性值:0,0,1,1*/
        .demo input[type="text"]{color: blue;} /*特殊性值:0,0,2,1*/
        .demo *[type="text"]{color: grey;} /*特殊性值:0,0,2,0*/
        #demo a{color: orange;} /*特殊性值:0,1,0,1*/
        div#demo a{color: red;} /*特殊性值:0,1,0,2*/
    </style>
</head>

<body>
    <a href="">第一條應該是黃色</a>
    <div class="demo">
        <input type="text" value="第二條應該是藍色" />
        <a href="">第三條應該是黑色</a>
    </div>
    <div id="demo">
        <a href="">第四條應該是紅色</a>
    </div>
</body>

</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM