CSS优先级

CSS优先级

浏览器通过优先级来判断哪一些属性值与一个元素最为相关,从而在该元素上应用这些属性值。优先级是基于不同种类选择器组成的匹配规则。


  • 影响优先级的选择器

  1. ID选择器(例如:#example)
  2. 类选择器(例如,.example)、属性选择器(例如,[type="radio"])、伪类(pseudo-classes)(例如,:hover)
  3. 类型选择器(例如,h1)、伪元素(paseudo-elements)(例如,::before)。
  • 不影响优先级的选择器

    通用选择器(*),组合(+>~' ')和否定伪类(:not())对优先级没有影响。(但是,在:not()内部声明的选择器会影响优先级)。

  • 优先级计算

    选择器的权重计算如下:
    - 统计选择器中ID选择器的数量 (= A)
    - 统计选择器中的类选择器,属性选择器和伪类的数量 (=B)
    - 统计选择器中的类型选择器和伪元素的数量 (=C)
    - 忽略通用选择器

    通过三个分组的来比较权重:具有较大A值的优先级更高;如果A值相等,则比较B值,较大的优先级更高;如果B值相等,则比较C值;如果所有的值都相等,那么优先级相等。
    注:允许同一个简单选择符的重复发生,并增加优先级

  • #app#app li{
        background: orange;
    }
    
    #app li{
        background: rgba(4, 87, 136, 0.568);
    }

    最终会应用orange样式
    结果

    • 内联样式

    内联样式总会覆盖外部样式表的任何样式


    • !important

    当在一个样式声明中使用一个!important 规则时,此声明将覆盖任何其他声明。使用 !important 是一个坏习惯,应该尽量避免,因为这破坏了样式表中的固有的级联规则 使得调试找bug变得更加困难了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值