CSS 101

1. Hello CSS
2. CSS语法
3. 选择器
4. 盒模型
5. 背景和边框
6. 文本方向和内容溢出
7. 值、单位和大小
8. 特殊元素
9. 布局
10. Flex 布局
11. Grid 布局
12. 定位布局
13. 响应式设计
14. 动画与过渡
15. 预处理器
16. 开发者工具
17. 代码规范
18. Uniswap页面
3. 选择器
选择器

选择器是CSS规则的关键部分,用于指定哪些元素应用某个CSS规则。

选择器的种类

我们可以将 CSS 选择器分为以下四类:

  1. 基本选择器

  2. 分组选择器

  3. 组合选择器

  4. 伪选择器

1. 基本选择器

1.1 通用选择器

选择页面上所有元素。

语法:*

示例:

* {

}

1.2 元素选择器

按照给定的元素名称,选择所有匹配的元素。

语法:elementname

示例:

/* 匹配所有 <h1> 元素 */
h1 {

}

/* 匹配所有 <input> 元素 */
input {

}

1.3 类选择器

// 我有一个类名
<h1 class="one">Hello CSS</h1>

// 我有两个类名,分别为:"one" 与 "two"
<div class="one two ">Hello CSS</div>

我们可以给元素设置 class 属性,class 的值是一个以空格分隔的元素的类名(classes)列表,一个元素可以有多个类名。

类选择器就是按照给定的 class 属性的值,选择所有匹配的元素。类选择器以 . 开头,后面跟类名。

语法:.classname

示例:

/* 匹配所有 class 属性中含有 "one" 类的元素 */
.one {
  
}

1.4 ID选择器

// 我的 ID 为 "one"
<h1 id="one">Hello CSS</h1>

// 我的 ID 为 "two"
<span id="two">Hello CSS</span>

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

语法:#idname

示例:

/* 匹配 id 为 "one" 的元素 */
#one {

}

/* 匹配 id 为 "two" 的元素 */
#two {
  
}

1.5 属性选择器

按照给定的属性,选择所有匹配的元素。属性选择器,使用 [ ] 选取带有指定属性的元素。

语法:[attr]

示例:

/* 匹配 所有具有 type="text" 属性的元素 */
[type="text"] {

}

2. 分组选择器

2.1 选择器列表

选择器列表是将不同的选择器组合在一起的方法,常被称为并集选择器或并集组合器。选择器列表使用 , 分隔的列表来对选择器进行分组。

语法:A, B

示例:

/* 同时匹配 <div> 元素和 <span> 元素。 */
div, span {

}

3. 组合器

3.1 后代组合器

选择前一个元素的后代节点。

语法:A B

示例:

/* 匹配所有位于任意 <div> 元素之内的 <span> 元素。 */
div span {

}

3.2 直接子代组合器

选择前一个元素的直接子代的节点。

语法:A > B

示例:

/* 匹配直接嵌套在 <ul> 元素内的所有 <li> 元素。 */
ul > li {

}

3.3 一般兄弟组合器

选择兄弟元素,也就是说,后一个节点在前一个节点后面的任意位置,并且共享同一个父节点。

语法:A ~ B

示例:

/* 匹配同一父元素下,<p> 元素后的所有 <span> 元素。 */
p ~ span {

}

3.4 紧邻兄弟组合器

选择相邻元素,即后一个元素紧跟在前一个之后,并且共享同一个父节点。

语法:A + B

示例:

/* 匹配所有紧邻在 <p> 元素后的 <span> 元素。 */
p + span {

}

4. 伪选择器

4.1 伪类

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

示例:

/* 匹配选择具有焦点的 <input> 元素。 */
input:focus {

}

更多伪类详解

4.2 伪元素

伪元素是一个附加至选择器末的关键词,允许你对被选择元素的特定部分修改样式。

示例:

/* 匹配所有 <p> 元素的第一行。 */
p::first-line {

}

更多伪元素详解请阅读MDN 教程

总结

这一讲,我们学习了非常重要的 CSS 选择器,掌握各种选择器并能灵活运用是CSS编程的关键!

PreviousNext