CSS 第003篇 优先级和权重计算

>1 优先级

首先,说CSS文件内容位置的优先级,前文提到的四种导入样式的优先级:

                                   行内样式>嵌入样式>外联样式表>导入样式表

 其次,选择器的优先级,数字越大优先级越高:

  1. 通用选择器(*)
  2. 元素(类型)选择器
  3. 类选择器
  4. 属性选择器
  5. 伪类
  6. ID 选择器
  7. 内联样式

 

!important 规则例外

当 !important 规则被应用在一个样式声明中时,该样式声明会覆盖CSS中任何其他的声明,无论它处在声明列表中的哪里。尽管如此,!important规则还是与优先级毫无关系。使用 !important 不是一个好习惯,因为它改变了你样式表本来的级联规则,从而使其难以调试。

经验法则:

  • Always 要优化考虑使用样式规则的优先级来解决问题而不是 !important
  • Only 只在需要覆盖全站或外部 css的特定页面中使用 !important
  • Never 永远不要在全站范围的 css 上使用 !important
  • Never 永远不要在你的插件中使用 !important

 

>2 权重计算

 

  • A:内联样式表的权值最高 1000
  • B:ID 选择器的权值为 100
  • C:Class 类选择器的权值为 10
  • D:HTML 标签选择器的权值为 1
  • 权重 = A+B+C+D

下面这段代码的权值进行比较得出:em 显示蓝色。

<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>

>3 CSS优先法则

  •  A 选择器都有一个权值,权值越大越优先;
  •  B 当权值相等时,后出现的样式表设置要优于先出现的样式表设置;
  •  C 创作者的规则高于浏览者:即网页编写者设置的CSS 样式的优先权高于浏览器所设置的样式;
  •  D 继承的CSS 样式不如后来指定的CSS 样式;
  •  E 在同一组属性设置中标有"!important"规则的优先级最大;

一直在路上,自律,坚持

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值