CSS中的选择器很多,比如:ID选择器,类选择器,通配符选择器,伪类选择器等等,接下来主要介绍常用的几个。
1.标签选择器
语法:标签名{},eg:h1{}//为所有的h1元素设置样式。
2.ID选择器
语法:#id名{}//id值唯一不能重复,eg:#top{}//为id为top的元素设置样式。
3.类选择器
语法:.class{},eg:.box{}//为所有的class值为box的元素设置样式。
4.组选择器
语法:选择器1,选择器2,选择器N{},eg:#box1,.box2,p{}//为id为box1,class为box2和p的元素共同设置样式。
5、通配符选择器
语法:*{},eg:*{font-size:16px}//将整个页面字体大小设为16px。
6.后代选择器
语法:选择器1选择器2{},eg:p.aa{}//选中指定祖先元素p的指定后代.aa。
7.子元素选择器
语法:父元素>子元素{},eg:p>.box{}//选中父元素p的指定子元素.box。注意与后代元素选择器的区别
8.伪类选择器
伪类可以用来表示一些特殊的状态,如:
:link-未访问过的超链接。
:visited-已访问过的超链接。
:hover-鼠标经过的元素。
:active-正在点击的元素。
eg:a:hover{color:red}//鼠标经过a标签时,颜色变为红色。
二、CSS选择器的优先级顺序
当同一属性的不同值都作用到了同一个元素时,如果定义的属性之间有冲突,那么应该用谁的值的,这个时候就涉及到CSS的优先级顺序了。
1.在属性后面使用!important会覆盖页面内任何位置定义的元素样式。
2.作为style属性写在元素内的内部样式
3.id选择器
4.类选择器
5.标签选择器
6.通配符选择器
7.浏览器自定义或继承的
@ html5的CSS3选择器中?
选择父级下第一个元素和最后一个元素如:
aaaabbbbcccccdddd.list li:first-child{color:#f00;} //只有aaa变红色.list li:last-child{font-weight:bold;} //只有dddd变粗体
@ css派生选择器有几种?
基本选择器
1.标签选择器:直接用元素的标签来进行选择
span { // 直接选择span标签
size:16px;
}
1
2
3
1
2
3
2.ID选择器:通过设置id名字,进行精确的选择,用#来定义
# div1 { //通过id名字来进行选择
color:red;
}
<div>1</div>
1
2
3
4
1
2
3
4
3.类选择器:通过类名来进行选择,选择范围比id选择器大,用’.来定义
.div1 { //所有类名为div1的都被选择了
color:red;
}
<div>1</div>
<div>1</div>
<div>1</div>
1
2
3
4
5
6
1
2
3
4
5
6
4.通配符选择器:范围更大,作用于所有标签,用*来定义
不建议使用,对页面加载负担大
高级选择器
1.后代选择器:定义用空格隔开
div span { //选择的是div标签下的span标签,当然后代顾名思义可以不止隔一代,可以隔多代进行选择
color:red;
}
<div><span>1</span></div>
1
2
3
4
1
2
3
4
2.交集选择器:与后代选择器定义的不同是,没有空格隔开,两个元素紧挨着
span#a1 { //选择的是两个条件1.既是span标签的 2.id名是a1的元素,两个条件缺一不可
color:red;
}
<span id=“a1”>1</span>
<span >1</span>
1
2
3
4
5
1
2
3
4
5
3.并集选择器:定义用逗号隔开
span,#a1 { //选择的是1.是span标签的 2.id名是a1的元素,两个条件满足一个即可
color:red;
}
<span id=“a1”>1</span>
<span >1</span>
1
2
3
4
5
1
2
3
4
5
4.伪类选择器:
1.静态伪类:点击连接之前(link),点击连接之后(visited)这样的
2.动态伪类:鼠标移入(hover),点击之后(focus)
@ id是什么类型的选择器?
id是css的唯一选择器,使用ID选择器,必须给标签添加上id属性,为标签设置id="ID名称"。