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>
    
  • 相关阅读:
    C#_简单实用的翻页
    C#注意事项及错误处理
    C# 委托和Lambda---基础
    C#_数据转换 实用方法
    C#图片处理---基础
    C#_使用SMTP发送邮件
    C#_生成HTML
    C#操作XML文档---基础
    百度地图 使用两条平行线表示路线
    Gradle version 2.10 is required. Current version is 2.8.
  • 原文地址:https://www.cnblogs.com/lvonve/p/14180231.html
Copyright © 2011-2022 走看看