css的权重

更新日期: 2020-07-02 阅读: 2.3k 标签: 权重

权重的五个等级及其权重

种类权重
!important10000
行内样式1000
id选择器100
class、属性选择器、伪类选择器10
标签选择器、伪元素选择器1

规则总结

行内样式总会覆盖外部样式表的任何样式(除了!important)

单独使用一个选择器的时候,不能跨等级使css规则生效

如果两个权重不同的选择器作用在同一元素上,权重值高的css规则生效

如果两个相同权重的选择器作用在同一元素上,以后面出现的选择器为最后规则


第二条规则

#test11 {
    color: red;
}
  
.test1 .test2 .test3 .test4 .test5 .test6 .test7 .test8 .test9 .test10 .test11 {
    color: blue;
}
<div class="test1">
  <div class="test2">
    <div class="test3">
      <div class="test4">
        <div class="test5">
          <div class="test6">
            <div class="test7">
              <div class="test8">
                <div class="test9">
                  <div class="test10">
                    <div class="test11" id="test11">
                      css权重
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

最终还是表现为红色。按理说,十一个class选择器权重为110,id选择器权重为100,110 > 100,应该表现为蓝色。因为class选择器和id选择器不是一个等级的,再多的class也会被一个id干掉。

想想那些网络小说里常说的一句话,境界没到,根本就不是一个等级的东西


第三条规则

.test #test{ } // id + class = 100 + 10 = 110
.test #test span{} // id + class + element = 100 + 10 + 1 = 111
.test #test .sonClass{} // id + class + class = 100 + 10 + 10 = 120

第三条样式生效。这个不用多说了,如果不是这样,权重还有毛线用。


第四条规则

<div id="app">
    <div class="test" id="test">
        <span>啦啦啦</span>
  </div>
</div>
<style>
#test span{
  color:blue;
}
#app span{
  color: red;
}
</style>

表现为红色,因为权重相同(权重都是110),但是红色的样式后出现,所以,表现为红色。


后记

用过一段时间的scss、less写样式,因为大多只用了嵌套,所以多多少少有一些关于权重的问题。

嗯 ~ ~ ~ 感觉BEM或许更适合中大型项目一些?


本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!

链接: https://fly63.com/article/detial/9552

如何打造一个高权重的网站?

拥有一个高权重的网站,相信是各位站长一直以来的梦想。每天看着别人高权重、多流量的网站暗自羡慕,自己在想总有一天我也会做到一天10万IP,但想象归想象

从webkit内核简单看css样式和css规则优先级(权重)

StyleRuleBase类: 单个的样式规则(选择器+规则体);StyleSheetContents类: 样式规则集,其成员-m_childRules是一个StyleRuleBase实例的列表,是1:n的数量关系

css权重

通过以上实例,我们了解到了,简单好用的!important在一些场景里也是不好用的,尤其是当你随手拿来一个库使用的时候,你了解不到它内部的权重分布,所以样式操作起来也不能够得心应手。

JS简单实现:根据奖品权重计算中奖概率实现抽奖的方法

本文主要介绍:使用 JS 根据奖品权重计算中奖概率实现抽奖的方法。奖项权重:[1, 5, 20, 74]。奖项权重主要用来表征各奖项的中奖几率,这里奖项权重数组的和值为100(=1+5+20+74),其中1表示一等奖的中奖概率为1%;

css权重如何计算的?

CSS权重是由四个数值决定,第一等:内联样式,如:,权值为1000.(该方法会造成css难以管理,所以不推荐使用)第二等:ID选择器,如:#header,权值为0100.第三等:类、伪类、属性选择器如:.bar, 权值为0010.

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!