css选择器的优先级


css选择器的优先级:


通配选择器  0
标签名选择器  1
类选择器  10
id选择器  100
 后代选择器  选择器1 选择器2 ...(会有相加的过程)
 群组选择器  选择器1,选择器2,...(不会有相加的过程)

1.相同类型的选择器,样式冲突下,后覆盖前
2.不同类型的选择器,样式冲突下,优先级高覆盖优先级低
3.*< Tags < class < id < style < !important
4.!important慎用(必须用时,需要加注释说明一下)

1.同类型,后覆盖前
body{
width: 200px;
height: 300px;
background: red;
}
body{
background: blue;
}
颜色为蓝色

2.不同类型,优先级高的会覆盖优先级低的
div{
height: 200PX;
background: red;
}
.cla{
background: pink;
}
颜色为粉红色

3.群组选择器,不会有相加的过程
span{
display:block;
width:200px;
height: 200px;
background: red;
}
div{
width:200px;
height: 200px;
background: blue;
}
span,div{
width: 200px;
height:200px;
background: pink;
}

颜色为粉红色


4.后代选择器,会有相加的过程

div span a{
background: red;
}
div span{
background: green;

}

颜色为绿色

### CSS选择器优先级规则 CSS选择器优先级决定了当多个样式规则应用于同一个HTML元素时,哪一个规则会被应用。理解这些规则对于编写可维护和高效的CSS至关重要。 #### 计算优先级的方法 每个选择器都有一定的权重值,具体如下: - **内联样式**:`1000` - **ID选择器**:`100` - **类选择器、伪类和属性选择器**:`10` - **标签选择器和伪元素**:`1` 如果两个选择器的选择符数量相同,则更晚定义的那个会覆盖较早的一个[^2]。 #### 特殊情况处理 浏览器内置的用户代理(UA)样式表提供了默认样式的设定,在大多数情况下可以被开发者自定义的样式所覆盖。然而,某些特定场景下(比如按钮的颜色),UA样式可能拥有更高的优先权,除非明确指定了相反的指令。 #### 使用JavaScript获取优先级 通过编程手段也可以查询给定属性的实际优先级别。例如,利用DOM API中的`getPropertyPriority()`方法来返回指定CSS属性是否有!important标记[^4]: ```javascript ps.println("priority: " + styleDeclaration.getPropertyPriority(property)); ``` 此代码片段展示了如何打印出某个CSS属性是否带有高优先级标志! #### 实际案例分析 考虑一段简单的HTML结构及其对应的CSS: ```html <div id="main-content"> <p class="highlight">This paragraph has special styling.</p> </div> ``` ```css /* Example of different selectors */ #main-content p { color: blue; } /* Specificity value: 101 */ .highlight { font-weight: bold; } /* Specificity value: 10 */ p { text-decoration: underline; } /* Specificity value: 1 */ ``` 在这个例子中,尽管三个选择器都匹配到了相同的 `<p>` 元素,但由于它们各自的特异性不同,最终的效果将是字体加粗且文字颜色变为蓝色,而不会加上下划线效果.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值