[转]CSS Selector的优先级

本文通过一个具体的HTML示例,详细解释了CSS选择器的优先级计算规则,特别是ID选择器与类选择器之间的优先级区别。

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

 

上周五下班前我们敬爱的三三大人又在组里讨论了关于“11个class与一个id”谁的优先级高的问题~_~!


猜一下

01    <!DOCTYPE HTML>
02 <html>
03 <head>
04 <meta charset="utf-8">
05 <style type="text/css">
06 body{font-family: "Microsoft YaHei";}
07 .a1 .a2 .a3 .a4 .a5 .a6 .a7 .a8 .a9 .a10 .a11{color:red;}
08 #b{color:green;}
09 </style>
10 </head>
11
12 <body>
13 <div class="a1">
14 <div class="a2">
15 <div class="a3">
16 <div class="a4">
17 <div class="a5">
18 <div class="a6">
19 <div class="a7">
20 <div class="a8">
21 <div class="a9">
22 <div class="a10">
23 <div class="a11" id="b">
24 CSS Selector的优先级
25 </div>
26 </div>
27 </div>
28 </div>
29 </div>
30 </div>
31 </div>
32 </div>
33 </div>
34 </div>
35 </div>
36 </body>
37 </html>


答案很明显就是你看到的那样儿,究竟为什么一时又很难说的清楚。

 

今天突然想到精通css里讲到过关于css特殊性的计算,原来是酱紫的…

所有的selector都被分配一个数值(包含内联),将所有selector值相加得到最终优先级。但是计算中并不是满10进1来计算,而是采用一个没有指定的更高的基数。保证高级别的selector(id)不被那11个或者更多低级的selector组合超出。
selector的特殊性分四个等级:a,b,c,d可将a看成是最高位以此类推

  • 如果样式为内联a=1
  • b为id的总数
  • c为class, pseudo-class, and attribute selectors总数

得出此表:

转载于:https://www.cnblogs.com/cherrys/archive/2012/03/16/2400474.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值