• CSS的优先级及样式覆盖问题探讨


    多重样式(Multiple Styles): 如果外部样式、内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况.有个例外的情况,就是如果外部样式放在内部样式的后面,则外部样式将覆盖内部样式。

    样式的优先级
    多重样式(Multiple Styles):
    如果外部样式、内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况。
    一般情况下,优先级如下:
    (外部样式)External style sheet <(内部样式)Internal style sheet <(内联样式)Inline style。
    有个例外的情况,就是如果外部样式放在内部样式的后面,则外部样式将覆盖内部样式。

    示例如下:

    <head>
    <style type="text/css">
    /* 内部样式 */
    h3{color:green;}
    </style>
    <!-- 外部样式 style.css -->
    <link rel="stylesheet" type="text/css" href="style.css"/>
    <!-- 设置:h3{color:blue;} -->
    </head>
    <body>
    <h3>测试!</h3>
    </body>

    选择器的优先权
     
    对上图的解释如下
    1.内联样式表的权值最高 1000;
    2.ID 选择器的权值为 100;
    3.Class 类选择器的权值为 10;
    4.HTML 标签选择器的权值为 1;

    代码如下:


    <html>
    <head>
    <style type="text/css">
    #redP p {
    /* 权值 = 100+1=101 */
    color:#F00; /* 红色 */
    }
    #redP .red em {
    /* 权值 = 100+10+1=111 */
    color:#00F; /* 蓝色 */
    }
    #redP p span em {
    /* 权值 = 100+1+1+1=103 */
    color:#FF0;/*黄色*/
    }
    </style>
    </head>
    <body>
    <div id="redP">
    <p class="red">red
    <span><em>em red</em></span>
    </p>
    <p>red</p>
    </div>
    </body>
    </html>
     
    结果:<em> 标签内的数据显示为蓝色。

    CSS 优先级法则
    •选择器都有一个权值,权值越大越优先;
    •当权值相等时,后出现的样式表设置要优于先出现的样式表设置;
    •创作者的规则高于浏览者:即网页编写者设置的CSS 样式的优先权高于浏览器所设置的样式;
    •继承的CSS 样式不如后来指定的CSS 样式;
    •在同一组属性设置中标有“!important”规则的优先级最大;
  • 相关阅读:
    linux 系统运维工具13款
    Django2.0 分页的应用
    jvm优化
    SSH-key 在Windows下如何生成公钥和私钥
    申请Let’s Encrypt免费证书,给自己网站增加https访问
    wordpress上传主题以及安装插件 出现ftp的问题解决方案
    php压缩文件
    linux下 如何切换到root用户
    TP3.2.3框架隐藏Home模块以及index.php入口文件的方法
    PHP打开错误提示和关闭错误提示的方法
  • 原文地址:https://www.cnblogs.com/ranyonsue/p/14621140.html
Copyright © 2020-2023  润新知