本文主要是介绍选择器知识点詳解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一. 选择器分类
选择器分为基础选择器和复合选择器两个大类
- 基础选择器是由单个选择器组成的
- 基础选择器包括:标签选择器、类选择器、id选择器和通配符选择器
基础选择器
1. 标签选择器
标签选择器(元素选择器)是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。
语法
标签名 {
属性1:属性值1;
属性2:属性值2;
. . .
}
作用
标签选择器可以把某一类标签全部选择出来,比如所有的<div>标签。
优点
能快速为页面中同类型的标签统一设置样式。
缺点
不能设计差异化样式,只能选择全部的当前标签。
2. 类选择器
如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器。
语法
.类名 {
属性1: 属性值1;
属性2: 属性值2;
. . .
}
例如,将所有拥有red类的HTML元素均设置为红色。
.red {
color: red;
}
结构需要用class属性来调用class类
<div class='red' > 变红色 </div>
类选择器特殊使用-多类名
(1) 多类名的使用方式
- 在标签class属性中写多个类名
- 多个类名中间必须用空格分开
<div class="red font20">亚瑟</div>
(2) 多类名开发中使用场景
- 可以把一些标签元素相同的样式(共同部分)放到一个类里面。
- 这些标签都可以调用这个公共的类,然后再调用自己独有的类。
- 节省CSS代码,统一修改非常方便。
注意
类选择器使用"."(英文点号)进行标识,后面紧跟类名(类名自定义)。
长名称或词组可以使用中横线来为选择器命名。
不使用纯数字、中文等命名,尽量使用英文字母来表示。
命名要有意义,尽量使别人一眼就知道这个类名的目的。
3. id选择器
id选择器可以为标有特定id的HTML元素指定特定的样式。
HTML元素以id属性来设置id选择器,CSS中id选择器以"#"来定义。
语法
#id名 {
属性1:属性值1;
. . .
}
例如,将id为nav元素中的内容设置为红色。
#nav {
color: red;
}
id选择器和类选择器的区别
- 类选择器(class)好比人的名字,一个人可以有多个名字,同一个名字可以被多个人使用。
- id选择器好比人的身份证号码,全中国唯一的,不得重复。
- id选择器和类选择器最大的不同在于使用次数上(id选择器只能使用一次,类选择器可以被多次使用)
- 类选择器在修改样式中用的最多,id选择器一般用于页面唯一性的元素上,经常和JavaScript搭配使用
4.通配符选择器
在CSS中,通配符选择器使用"*"定义,它表示选取页面中所有元素(标签)
语法
* {
属性1:属性值1;
. . .
}
- 通配符选择器不需要调用,自动就给所有的元素使用样式。
- 特殊情况才使用,如:消除所有元素的内外边距。
* {
margin: 0;
padding: 0;
}
复合选择器
复合选择器是建立在基础选择器之上,对基础选择器进行组合形成的。
- 复合选择器可以更准确、更高效的选择目标元素(标签)
- 复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的。
- 常用的复合选择器包括 :后代选择器、子选择器、并集选择器、伪类选择器等等
1.后代选择器
后代选择器又称为包含选择器,可以选择父元素里面的子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。
语法
元素1 元素2 {
样式声明
}
上述语法表示选择元素1里面的所有元素2(后代元素)。
例如:
ul li { 样式声明 } /* 选择ul 里面的所有li标签元素 */
- 元素1和元素2中间用空格隔开
- 元素1是父级,元素2是子级,最终选择的是元素2
- 元素2可以是儿子,也可以是孙子等,只要是元素1的后代即可
- 元素1和元素2可以是任意基础选择器
2. 子选择器
子元素选择器(子选择器)只能选择作为某元素的最近一级子元素,简单理解就是只能选亲儿子。
语法
元素1 > 元素2 { 样式声明 }
上述语法表示选择元素1里面的所有直接后代(子元素)元素2
例如:
div > p { 样式声明 } /* 选择div里面所有最近一级p标签元素 */
元素1和元素2中间用大于号隔开
元素1是父级,元素2是子级,最终选择的是元素2
元素2必须是亲儿子,其孙子、重孙之类都不归他管。
3. 并集选择器
并集选择器可以选择多组标签,同时为它们定义相同的样式。通常用于集体声明。
并集选择器是各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分
语法
元素1, 元素2 { 样式声明 }
上述语法表示选择元素1 和 元素 2.
例如:
ul, div, pig > li { 样式声明 } /* 选择 ul 和 div 标签元素 */
- 元素1和元素2中间用逗号隔开
- 逗号可以理解为和的意思
- 并集选择器通常用于集体声明
4. 伪类选择器
伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第1个,第n个元素。
伪类选择器书写最大的特点是用冒号(:)表示,比如 :hover、:first-child
因为伪类选择器很多,比如有链接伪类、结构伪类等
(1)链接伪类选择器
a:link /*选择所有未被访问的链接*/
a:visited /*选择所有已被访问的链接*/
a:hover /*选择鼠标指针位于其上的链接*/
a:active /*选择活动链接(鼠标按下未弹起的链接)*/
链接伪类选择器注意事项
- 为了确保生效,请按照LVHA的顺序声明 :ling、:visited、:hover、:active
- 记忆法:love hate或者lv 包包 hao
- 因为a链接在浏览器中具有默认样式,所以我们实际工作中都需要给链接单独指定样式
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>复合选择器之链接伪类选择器</title><style>/*未访问的链接*/a:link {color: #333;text-decoration:none;}a:visited {color: #ffa76d;}a:hover {color: #5eff98;}a:active {color: #2721ff;}</style>
</head>
<body><a href="#">电玩小子</a></body>
</html>
链接伪类选择器开发过程中常用写法
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>复合选择器之链接伪类选择器</title><style>a{color: #333;text-decoration:none;}a:hover {text-decoration: underline;color: dodgerblue;}</style>
</head>
<body><a href="#">链接伪类开发过程中常用的写法</a></body>
</html>
(2):focus伪类选择器
:focus伪类选择器用于选取获得焦点的表单元素。
焦点就是光标,一般情况<input>类表单元素才能获取,因此这个选择器也主要针对表单元素来说
input:focus {background-color: #fffd1a; }
这篇关于选择器知识点詳解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!