选择器优先级

 1 <!doctype html>
 2 <html lang="en">
 3     <head> 
 4         <meta charset="UTF-8">
 5         <meta name="Generator" content="EditPlus">
 6         <meta name="Author" content="">
 7         <meta name="Keywords" content="">
 8         <meta name="Description" content="">
 9         <title>Document</title>
10         <style type="text/css">
11             .box1 div div{
12                 color:#000000 !important;
13                 font-size:50px;
14             }
15             .box1 div{
16                 color:red;
17                 font-size:30px;
18             } 
19             div{
20                 color:blue;
21                 font-size:20px;
22             }
23             .box1 div div{
24                 color:#ff00cc;
25                 font-size:50px;
26                 border:5px solid blue;
27             }
28         </style>
29     </head>
30     <body>
31       <!--
32         1:id > class > 标签 > 通配符 > 默认样式;
33         2: .box div div > .box div > div (作用范围越小,作用级别越大!)
34         3. 当选择器的类别与数量相同时(注意类别和数量一定是在相同的前提下这些才生效),执行顺序越靠后优先级越高,同一个选择器下的相同属性也遵循该规则
35         4. !important(一个important只能作用于一个属性) > 行内 > 其他选择器;  
36       -->
37       <div class="box1">
38           我是猪猪狭;
39           <div>
40             <div style="color:#66ff00; font-size:70px;">我是谁?我在哪儿?</div>
41         </div>
42       </div>
43     </body>
44 </html>

 

转载于:https://www.cnblogs.com/soTired/p/10162156.html

### CSS选择器优先级规则 CSS选择器优先级由特指度(specificity)和重要性(importance)共同决定。当多个样式规则适用于同一个HTML元素时,浏览器会按照这些规则的优先级来确定最终应用哪个样式。 #### 重要性和`!important` 如果一条样式声明后面跟有`!important`标记,则这条声明具有最高优先级,可以覆盖其他任何级别的样式规则[^2]。 #### 特指度计算规则 特指度是一个四元组(a,b,c,d),其中: - `a`: 内联样式的数量 - `b`: ID选择器的数量 - `c`: 类选择器、伪类以及属性选择器的数量 - `d`: HTML标签选择器和伪元素的数量 具体来说: - **内联样式**:直接写在HTML标签内的style属性中的样式,其权重非常高,仅次于带有`!important`的关键字。 - **ID选择器**:形如`#header`的选择器,每个ID选择器增加100分特指度[^3]。 - **类选择器/伪类/属性选择器**:例如`.class`, `[attribute=value]`, 或者`:hover`等,这类选择器每出现一次则加10分特指度[^4]。 - **标签选择器**:像`div`, `p`这样的基本标签名作为选择器,每次使用都会给该条目加上一分特指度。 对于通配符(*)和其他继承而来的样式,默认情况下它们拥有最低的特指度;而对于未指定样式的部分,则遵循浏览器默认设置。 综上所述,在比较两个竞争的CSS规则时,应该先对比各自的重要性(`!important`),再依次按上述顺序逐项累加各组成部分对应的数值,最后总分数较高的那条规则获胜并生效于目标DOM节点之上。 ```css /* 示例 */ <style> /* 权重 (0, 0, 1, 0) */ .example-class { color: red; } /* 权重 (0, 1, 0, 0), 超过上面的例子 */ #unique-id { background-color: blue; } </style> <!-- 这里的 style 属性将胜过外部定义 --> <p class="example-class" id="unique-id" style="color:green;">这段文字的颜色是绿色。</p> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值