选择器是CSS规则的关键部分,用于指定哪些元素应用某个CSS规则。
选择器的种类
我们可以将 CSS 选择器分为以下四类:
-
基本选择器
-
分组选择器
-
组合选择器
-
伪选择器
1. 基本选择器
1.1 通用选择器
选择页面上所有元素。
语法:*
示例:

1.2 元素选择器
按照给定的元素名称,选择所有匹配的元素。
语法:elementname
示例:

1.3 类选择器
我们可以给元素设置 class
属性,class 的值是一个以空格分隔的元素的类名(classes)列表,一个元素可以有多个类名。
类选择器就是按照给定的 class 属性的值,选择所有匹配的元素。类选择器以 .
开头,后面跟类名。
语法:.classname
示例:

1.4 ID选择器
按照 id 属性选择一个与之匹配的元素。需要注意的是,一个文档中,每个 ID 属性都应当是唯一的。id 选择器以 #
开头,后面跟 id 值。
语法:#idname
示例:

1.5 属性选择器
按照给定的属性,选择所有匹配的元素。属性选择器,使用 [ ]
选取带有指定属性的元素。
语法:[attr]
示例:

2. 分组选择器
2.1 选择器列表
选择器列表是将不同的选择器组合在一起的方法,常被称为并集选择器或并集组合器。选择器列表使用 ,
分隔的列表来对选择器进行分组。
语法:A, B
示例:

3. 组合器
3.1 后代组合器
选择前一个元素的后代节点。
语法:A B
示例:

3.2 直接子代组合器
选择前一个元素的直接子代的节点。
语法:A > B
示例:

3.3 一般兄弟组合器
选择兄弟元素,也就是说,后一个节点在前一个节点后面的任意位置,并且共享同一个父节点。
语法:A ~ B
示例:

3.4 紧邻兄弟组合器
选择相邻元素,即后一个元素紧跟在前一个之后,并且共享同一个父节点。
语法:A + B
示例:

4. 伪选择器
4.1 伪类
CSS 伪类 是添加到选择器的关键字,指定要选择的元素的特殊状态。
示例:

更多伪类详解
4.2 伪元素
伪元素是一个附加至选择器末的关键词,允许你对被选择元素的特定部分修改样式。
示例:

更多伪元素详解请阅读MDN 教程
总结
这一讲,我们学习了非常重要的 CSS 选择器,掌握各种选择器并能灵活运用是CSS编程的关键!