CSS选择器优先级
2016-03-11 14:32
513 查看
1.类的覆盖顺序和应用的时候引用的顺序没关系,覆盖顺序取决于类定义的顺序
例如:
由于b晚于a定义,所以b覆盖a,反之则a覆盖b
2.类选择器优先级大于标签选择器;
例如:
.div将覆盖div
3.类选择器优先级等于纯属性选择器,谁后定义谁优先级高,例如:
.a将覆盖[data-name='div'],反之[data-name='div']覆盖.a
4.类选择器优先级小于标签+属性组合选择器,例如:
.a将被div[data-name='div']覆盖
5.类选择器优先级小于id选择器,例如:
.a将被#div覆盖
6.标签+属性组合选择器优先级小于id选择器,例如:
#div将会覆盖[data-name='div']
7.标签选择器优先级小于id选择器,例如:
#div将会覆盖div
8.标签选择器优先级小于纯属性选择器,例如:
div将会被 [data-name='div']覆盖
综上所述: 标签选择器<类选择器=纯属性选择器(先定义会被覆盖)<标签+属性组合选择器<id选择器。
以上是一个一个试出来的,错误的地方还望指正。
例如:
.a{ color:red } .b{ color:green }
由于b晚于a定义,所以b覆盖a,反之则a覆盖b
2.类选择器优先级大于标签选择器;
例如:
div{ color:red } .div{ color:green }
.div将覆盖div
3.类选择器优先级等于纯属性选择器,谁后定义谁优先级高,例如:
[data-name='div']{ color: red } .a{ color:blue }
.a将覆盖[data-name='div'],反之[data-name='div']覆盖.a
4.类选择器优先级小于标签+属性组合选择器,例如:
div[data-name='div']{ color: red } .a{ color:blue }
.a将被div[data-name='div']覆盖
5.类选择器优先级小于id选择器,例如:
.a{ color:blue } #div{ color: red }
.a将被#div覆盖
6.标签+属性组合选择器优先级小于id选择器,例如:
[data-name='div']{ color:blue } #div{ color: red }
#div将会覆盖[data-name='div']
7.标签选择器优先级小于id选择器,例如:
div{ color:blue } #div{ color: red }
#div将会覆盖div
8.标签选择器优先级小于纯属性选择器,例如:
div{ color:blue } [data-name='div']{ color: red }
div将会被 [data-name='div']覆盖
综上所述: 标签选择器<类选择器=纯属性选择器(先定义会被覆盖)<标签+属性组合选择器<id选择器。
以上是一个一个试出来的,错误的地方还望指正。
相关文章推荐
- 10030---CSS圆角效果
- CSS样式实现溢出超出DIV边框宽度高度的内容自动隐藏方法
- CSS布局中HTML标签元素分类
- css 动画 transition及animation
- CSS布局属性
- js、css、img等浏览器缓存问题的2种解决方案
- css优化篇
- 使用div+CSS将页脚始终控制在页面最下方的方法
- CSS颜色、长度值、字体
- CSS总结1
- CSS选择器类型
- CSS3--gradient
- 小css
- CSS3 transform-origin 属性
- CSS完成各种图形的制作
- css3 Transition动画执行时有可能会出现闪烁的bug
- DIV+CSS常见问题
- css3 transform 属性
- [转]CSS 表单元素对齐详解
- css实现移动端图片文字水平居中