CSS选择器优先级与效率
各类选择器的优先级
- important声明 1000
- ID选择器 100
- 类选择器 10
- 伪类选择器 10
- 属性选择器 10
- 标签选择器 1
- 伪元素选择器 1
- 通配符选择器 0
属性选择器 = 伪类选择器
1 | a[src^="https"] { color: green; } |
伪类选择器 > 相邻选择器
1 | :last-child { color: green; } |
相邻选择器 = 子选择器 = 后代选择器
1 | p~ul { color: red; } |
后代选择器 > 标签选择器
1 | body p { color: blue; } |
补充
<style></style>
同<link />
同级,应用取决于<style>
标签和<link />
标签的先后顺序- 元素
style=""
属性的优先级高于以上两种样式 !important
优先级高于以上两种样式!important
在IE6中的BUG:在同一组CSS属性中, !important不起作用。1
#selector{color:blue ;color:green;}
选择器效率
- ID选择器
- 类选择器
- 标签选择器
- 相邻选择器
- 子选择器
- 后代选择器
- 通配符选择器
- 属性选择器
- 伪类选择器
** 优先级高不一定效率高 **