css权重与常见布局(1)

栏目: CSS · 发布时间: 5年前

内容简介:tips:如果有!important那么相加的那些无论多权重高就不管用,如果有max-height/max-width那么!important不管用,如果同时有min-height/min-width和 max-height/max-width,那么max-height/max-width的不管用口诀:从0开始,一个行内样式+1000,一个id+100,一个属性选择器/class或者伪类+10,一个元素名,或者伪元素+1

CSS的选择器类型与权重值

  1. 通配符选择器 权重值为 0
  2. 元素选择器,和伪元素(例如::before) 权重值为 1
  3. 类选择器(class),属性选择器,伪类(:hover) 权重值为 10
  4. ID选择器 权重值为 100
  5. 行内样式 权重值为 1000
  6. !important 权重值比前5个都大,可以说无穷大

tips:

  • !important 的权重最大,但是它可以被权重更大的 !important 所覆盖
  • 行内样式 总会覆盖外部样式表的任何样式(除了!important)
  • 几种权 重值不同 的选择器作用在同一个元素上,以权重值大的css样式规则生效
  • 几种权 重值相同 的选择器作用在同一个元素上,以后面出现的选择器的css样式规则生效
  • 无论使用多少个权重低的选择器够比不过一个权重值高的选择

如果有!important那么相加的那些无论多权重高就不管用,如果有max-height/max-width那么!important不管用,如果同时有min-height/min-width和 max-height/max-width,那么max-height/max-width的不管用

口诀:从0开始,一个行内样式+1000,一个id+100,一个属性选择器/class或者伪类+10,一个元素名,或者伪元素+1

min-height/min-width > max-height/max-width > !important > 行内样式 > ID选择器 > 类选择器、属性选择器、伪元素和伪类选择器 > 元素选择器 > 通用选择器

权重的计算方法

div p h3 ---> 0,0,0,3 所以此时h3标签的权重值为3, 因为div,p,h3这些都是标签选择器(权重值为1)

<div>
    <p>
        <h3>xxxx</h3>
    </P>
</div>

#par .sub h3 ---> 0,1,1,1 此时的h3标签的权重值为111=100+10+1 (依次类推)

<div id="par">
    <p class="sub"> 
        <h3>xxxx</h3>
    </P>
</div>

要注意的一点就是如前面说到的那样, 数位没有进位 : 0,0,0,5 + 0,0,0,5 = 0,0,0,10而不是0,0,1,0,所以不会存在10个div能赶上一个类选择器的情况。

实战例题(某厂前端工程师笔试题)

基于以下的HTML结构和CSS样式,文本Dijkstra的颜色是?

<ul class="authors" id="favorite">
    <li><span>Martin Fowler</span></li>
    <li id="related><span class="highlight">Dijkstra</span></li>
</ul> 

ul #related span {
    color:red;
}
#favorite .highlight{
     color:orange;
}
.highlight{
    color:black;
}

计算权重:

(1)ul #related span ---> 0,0,0,1 + 0,1,0,0 + 0,0,0,1 =0,1,0,2 ---> 102 red

(2) #favorite .highlight ---> 0,1,0,0 + 0,0,1,0 = 0,1,1,0 ---> 110 orange (权重最大)

(3) .highlight ---> 0,0,1,0 = 10 black

因为110 > 102 > 10 所以文本Dijkstra显示的 Orange这种颜色


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

信号与噪声

信号与噪声

[美] 纳特•西尔弗 / 胡晓姣、张新、朱辰辰 / 中信出版社 / 2013-8 / 69.00元

【编辑推荐】 从海量的大数据中筛选出真正的信号, “黑天鹅”事件也可提前预知! “本书将成为未来十年内最重要的书籍之一。”——《纽约时报》 “对于每一个关心下一刻可能会发生什么的人来说,这都是本必读书。”——理查德•泰勒 《华尔街日报》2012年度10本最佳非虚构类图书之一 《经济学人》杂志2012年度书籍 亚马逊网站2012年度10本最佳非虚构类图书之一......一起来看看 《信号与噪声》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具