zoukankan      html  css  js  c++  java
  • 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”规则的优先级最大;
  • 相关阅读:
    动画 与 缓存
    flex 弹性布局
    JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)
    java web总结(1)----入门
    面试系列-java(1)
    面试英语——题外话------笔记(1)
    面试内容的概览(1)-笔记
    菜鸟教程-设计模式简介-笔记
    java基础知识回顾-笔记(微学苑)
    mysql学习总结-笔记(总结的不怎么样)
  • 原文地址:https://www.cnblogs.com/ranyonsue/p/14621140.html
Copyright © 2011-2022 走看看