CSS选择器特殊性(权重)计算法则

本文介绍CSS中选择器特殊性的计算规则及其应用。特殊性决定了样式表中规则的应用优先级,文章详细解释了如何通过不同类型的CSS选择器来计算特殊性,并给出具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

特殊性计算规则

       为了计算规则的特殊性,给每个选择器都分配一个数字值。然后,讲规则的每个选择器的值加在一起,计算出规则的特殊性。一般情况下,如果一个特定选择器中的选择器数量少于10个,可以以10 为基数计算特殊性。

       选择器的特殊性分为4个等级:a、b、c和d,各等级特殊性逐渐降低(即a>b>c>d)。其中,

  • 如果样式是行内样式(<p style="..."></p>),那么a = 1
  • b等于ID选择器(#tag)的总数
  • c等于类(.tag)、伪类(a:hover)和属性选择器(a[title])的数量
  • d等于类型选择器(span)和伪元素选择器(span:before)的数量

       根据以上规则,可以计算下表各元素的特殊性

选择器特殊性以10为基数的特殊性
style = “”1,0,0,01000
wrapper #content {}0,2,0,0200
content .dataPoseted {}0,1,1,0110
div#content0,1,0,1101
content {}0,1,0,0100
p.comment .dateposted {}0,0,2,121
p.comment {}0,0,1,111
div p {}0,0,0,22
p {}0,0,0,11


       由此,可以简单归纳为:用style属性编写的规则总是比其他任何规则特殊;具有ID选择器的规则比没有ID选择器的规则特殊;具有类选择器的规则比只有类型选择器的规则特殊;如果两个规则的特殊性相同,那么后定义的规则优先。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值