您的位置:首页 > Web前端 > CSS

CSS选择器优先级

2016-03-11 14:32 513 查看
1.类的覆盖顺序和应用的时候引用的顺序没关系,覆盖顺序取决于类定义的顺序
例如:

.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选择器。

以上是一个一个试出来的,错误的地方还望指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: