元素选择器的权重排序
时间: 2024-08-16 19:03:45 浏览: 49
低权重原则——避免滥用子选择器
元素选择器在CSS中用于匹配文档中具有特定标签名的元素。它们的权重顺序通常是这样的:
1. **ID选择器 (`#id`)**: ID选择器具有最高的优先级,因为在一个HTML文档中,ID应该是唯一的。例如,`#header`将直接选中页面上ID为"header"的第一个元素。
2. **类选择器 (`.` class) 和属性选择器 (.attr)**: 类选择器次之,如`.myClass`会匹配所有class属性值包含"myClass"的元素。属性选择器也按照这个顺序,如`.myAttr=value`。
3. **标签选择器 (`element`)** 和伪类选择器 (`element:state`) : 标签选择器如`p`会选择所有的段落元素,伪类如`:hover`会在鼠标悬停时应用样式。
4. **通配符选择器 (`*`)**: 匹配文档中的所有元素,其优先级最低。
5. **兄弟组合选择器 (`selector1 ~ selector2`) 和后代选择器 (`selector1 > selector2`)**: 这些组合选择器的优先级介于前两者之间,用于指定相对位置的元素。
6. **子元素选择器 (`selector1 + selector2`)**: 只匹配紧接在另一个指定元素之后的第一个元素。
记住,如果有多个相同的权重级别的选择器,浏览器会从左到右应用样式,直到找到第一个匹配项为止。如果存在样式冲突,后面的规则会覆盖前面的规则。
阅读全文