Css权重计算方式

权重计算公式

将选择器按:id选择器,类选择器,标签选择器进行个数统计,根据统计结果进行排序

</p>
    <title></title>
<style type="text/css">
        /* 1,0,1 */
        #box1 p {
            color: red;
        }
        /* 0,3,2 */
        .div1 div.div2 .div3 p {
            color: blue;
        }
        /* 1, 1, 2 */
        div.div1 #box2 p {
            color: green;
        }
        /* 0, 2, 1 */
        .div1 .div2 p {
            color: pink;
        }
    </style>
<div id="box1" class="div1">
        <div id="box2" class="div2">
            <div id="box3" class="div3">
                <p>这么多css属性,我到底该听谁的?会是什么颜色呢?</p>
            </div>
        </div>
    </div>

由统计的结果可知,1,1,2的权重最大,因此p标签的颜色应为green

image

高维打低维

看过《三体》的同学都知道,高维空间对于低维空间可以随便打,在四维空间,可以轻易地摧毁在三维空间无坚不摧的水滴。类似的,在css中,再多的标签选择器,也敌不过一个类选择器

image

继承而来的权重为0

继承父辈的财产,如果不好好利用,而是坐吃山空,那远不如自力更生者。css继承的样式,权重是0。即:随便一个标签选择器就能覆盖继承的样式

image

权重相同怎么办

如果选择器的权重相同,以style中后出现的选择器为准

image

    <title></title>
<style type="text/css">
        /* 1,1,1 */
        #box1 .div2 p{
            color:red;
        }
        /* 1,1,1 */
        .div1 #box3 p{
            color:blue;
        }
    </style>
<div id="box1" class="div1">
        <div id="box2" class="div2">
            <div id="box3" class="div3">
                <p>权重相同的情况下,以style中后出现的选择器为准</p>
            </div>
        </div>
    </div>

image

超出五行外的!important

有时候,我们需要给某个css样式赋予特殊的权重,尤其是接手一个css写得乱七八糟的项目,又没充足的时间去梳理样式代码,此时就可以在分号前加上!important,此关键字将超越所有权重,但不能滥用。

注意事项:

  • !important不影响继承性,该是0还是0。一个标签是通过继承性影响的,权重是0,加上!important也是0,也不能与已经选中了的选择器抗衡

  • !important不影响就近原则,远的那个,写上!important也没用,还是以近的那个为准

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,207评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,894评论 1 45
  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,461评论 0 40
  • 两个月前,我告别了持续二十年的学生时代,开始进入社会参加工作。 到目前为止,似乎没有因工作感到快乐的时刻,这也许有...
    wind_o阅读 298评论 0 0
  • 对于女孩来说,自己将来能否嫁个好老公?结婚后能否幸福美满?未来的老公好不好?对于女孩来说还是比较关心的,不是有句话...
    弘俊阁阅读 881评论 0 0

友情链接更多精彩内容