zoukankan      html  css  js  c++  java
  • 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-00-1-0-00-0-1-00-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>
    
  • 相关阅读:
    HTML元素解释
    Java命名规范
    HDU 1058 Humble Numbers(DP,数)
    HDU 2845 Beans(DP,最大不连续和)
    HDU 2830 Matrix Swapping II (DP,最大全1矩阵)
    HDU 2870 Largest Submatrix(DP)
    HDU 1421 搬寝室(DP)
    HDU 2844 Coins (组合背包)
    HDU 2577 How to Type(模拟)
    HDU 2159 FATE(二维完全背包)
  • 原文地址:https://www.cnblogs.com/lvonve/p/14180231.html
Copyright © 2011-2022 走看看