选择器
id 选择器,class 选择器,标签选择器,伪元素选择器,伪类选择器等。
1. id选择器
id表示身份,在页面中元素的id不允许重复,因此id选择器只能选择单个元素。
权重值:100
#id{
}
2. class选择器
选择拥有该类别的多个元素。
权重值:10
.class{
}
3. 标签选择器
根据标签名称,选择对应的所有标签。
权重值:1
4. 通用选择器
针对页面上的所有标签都生效
权重值:0
5. 组合选择器
6. 属性选择器
M[attr] {}
=:完全匹配
*=:部分匹配
^=:
$=:
M[class][id]
:
7. 伪类选择器
M:伪类{
}
M:link{
访问前样式(只能加给a标签)
}
M:visited{
访问后样式(只能加给a标签)
}
M:hover{
鼠标移入时的样式(可以给所有标签加)
}
M:active{
鼠标按下时的样式(可以给所有标签加)
}
注:
如果四个伪类都生效,顺序是LVHA
一般网站都只设置a{} a:hover{}
div:after{
content: "kobe";
}
div:before{
content: "kobe";
}
:checked{
}
:disabled{
}
:focus{
}
8. 结构性伪类选择器
li:nth-of-type(3){
background: red;
}
角标从1开始,1表示第一项,2表示第二项,n表示0到无穷大
first-of-type
last-of-type
only-of-type
nth-child
first-child
last-child
CSS 优先级
行内样式(1000) > ID 选择器(100) > 类选择器(10) > 标签选择器(1) > 通用选择器(0)
(1)同一元素引用了多个样式时,排在后面的样式属性的优先级高;
(2)样式选择器的类型不同时,优先级顺序为:id 选择器> class 选择器> 标签选择器;
(3)标签之间存在层级包含关系时,后代元素会继承祖先元素的样式。如果后代元素定义了与祖先元素相同的样式,则祖先元素的相同的样式属性会被覆盖。继承的样式的优先级比较低,至少比标签选择器的优先级低;
(4)带有 !important 标记的样式属性的优先级最高;
(5)样式表的来源不同时,优先级顺序为:内联样式 > 内部样式 > 外部样式 > 浏览器用户
自定义样式> 浏览器默认样式