zoukankan      html  css  js  c++  java
  • CSS优先级

    权值的计算:

    权值等级划分, 一般来说是划分4个等级:

        第一等级:代表 内联样式,如 style="",权值为 1,0,0,0;

        第二等级:代表 ID选择器,如 #id="", 权值为 0,1,0,0;

        第三等级:代表 calss | 伪类 | 属性 选择器,如 .class | :hover,:link,:target | [type], 权值 0,0,1,0;

        第四等级:代表 标签 | 伪元素 选择器,如 p | ::after, ::before, ::fist-inline, ::selection, 权值 0,0,0,1;

        此外,通用选择器(*),子选择器(>), 相邻同胞选择器(+)等选择器不在4等级之内,所以它们的权值都为 0,0,0,0;

     

    权值计算公式:

        权值 = 第一等级选择器*个数,第二等级选择器*个数,第三等级选择器*个数,第四等级选择器*个数;

     

    权值比较规则:

        当两个权值进行比较的时候,是从高到低逐级将等级位上的权重值(如 权值 1,0,0,0 对应--> 第一等级权重值,第二等级权重值,第三等级权重值,第四等级权重值)来进行比较的,而不是简单的 1000*个数 + 100*个数 + 10*个数 + 1*个数 的总和来进行比较的,换句话说,低等级的选择器,个数再多也不会越等级超过高等级的选择器的优先级的

     

    遵循原则:

    • 优先级就近原则,同权重情况下样式定义最近者为准
    • 如果优先级相同,则最后出现的样式生效
    • 优先级为: !important > id > class > tag!important 比 内联优先级高
    • 继承得到的样式的优先级最低
    • 通用选择器(*)、子选择器(>)和相邻同胞选择器(+)并不在这四个等级中,所以它们的权值都为 0
    •  样式表的来源不同时,优先级顺序为:内联样式> 内部样式 > 外部样式 > 浏览器用户自定义样式 > 浏
      览器默认样式
     1 <head>
     2   <style>
     3     .app1 {
     4       color:red;
     5     }
     6     .app2 {
     7       color:blue;
     8     }
     9 
    10   </style>
    11 </head>
    12 <body>  
    13   <div class="app1 app2">123</div>
    14 </body>
    15 
    16 //最终效果是blue,style样式中下面的会将上面的覆盖

    ——————————————————————

    参考资料:https://www.cnblogs.com/cnblogs-jcy/p/8574177.html

  • 相关阅读:
    SQL Server 2008 允许远程链接 解决方法
    对上传图片进行剪切的jquery插件
    解决在IE6 下,css中的position:fixed 不起作用的办法
    对网站搞评比投票活动的总结
    关于设置sql server 2008服务器属性时出现的无法加载xplog70.dll文件的问题
    Android LayoutInflater的使用
    在Android中查看和管理sqlite数据库
    android开发的WARNING: Could not initialize OpenglES emulation, using software renderer问题的解决
    Android 常用错误及解决方法
    解决MyEclipse启动速度慢,提高MyEclipse启动速度
  • 原文地址:https://www.cnblogs.com/oaoa/p/14669395.html
Copyright © 2011-2022 走看看