导航
交集选择器
使用场景:选中同时满足条件的所有选择器。
代码示例:
p.red {
color: red;
}
注意:
- 标签要写在选择器的开头,例如
p
元素。- 选择器之间没有空格。
- id选择器理论上可以作为交集的条件,但没有意义。
- 交集选择器中不可能出现两个元素选择器。
- 元素选择器配合类名选择器使用频率较多。
并集选择器
使用场景:同时选择满足其中任意一个选择器条件的元素。
代码示例:
h1, h2 {
color: blue;
}
注意;
- 多个选择器通过**
,
**连接,此处,
的含义就是或。- 需要注意的是,并集选择器中的选择器顺序不影响选择结果。无论选择器的顺序如何,只要满足其中任意一个选择器的条件,元素就会被选中。
- 一般竖着写。
- 任何形式的选择器都可以作为并集选择器的一部分。
- 并集选择器通常用于集体声明,可以缩小样式表体积。
后代选择器
使用场景:选中指定元素中,符合要求的后代元素。
代码示例:
ul li{
color: red;
}
注意:
- 选择器之间,以空格隔开。
- 后代选择器,最终选择的是后代,不选中祖先。
- 儿子、孙子、重孙子都算是后代。
- 结构一定要符合HTML的嵌套要求。
子代选择器
使用场景:选择指定元素中,符合要求的子元素(儿子元素)。
代码示例:
div>a {
color: red;
}
注意:
- 选择器之间以**
>
**隔开。- 子代选择器,最终选择的是子代,不是父级。
- 注意子元素和后代元素的区别。
兄弟选择器
相邻兄弟选择器
使用场景:选中指定元素后,符合条件的相邻兄弟元素。
相邻:紧挨着当前元素的下一个元素。
代码示例:
div+p {
color: red;
}
注意:
- 选择器之间以**
+
**连接。
通用兄弟选择器
使用场景:选中指定元素后,符合条件的所有兄弟元素。
代码示例:
div~p {
color: red;
}
注意:
- 选择器之间以**
~
**连接。
属性选择器
使用场景:选中属性值符合一定要求的元素。
代码示例:
/* 选中具有title属性的元素 */
div[title]{color:red;}
/* 选中title属性值为qt7274的元素 */
div[title="qt7274"]{color:red;}
/* 选中title属性值以a开头的元素 */
div[title^="a"]{color:red;}
/* 选中title属性值以u结尾的元素 */
div[title$="u"]{color:red;}
/* 选中title属性值包含g的元素 */
div[title*="g"]{color:red;}
注意:
[属性名]
选中具有某个属性的元素。[属性名="值"]
选中包含某个属性,且属性值等于指定值的元素。[属性名^="值"]
选中包含某个属性,且属性值以指定的值开头的元素。[属性名$="值"]
选中包含某个属性,且属性值以指定的值结尾的元素。[属性名*=“值”]
选择包含某个属性,属性值包含指定值的元素。
伪类选择器
使用场景:选中特殊状态的元素。
伪——虚假的,不是真实存在的。
伪类——像类(
class
),但不是类,是元素的一种特殊状态。
动态伪类
-
:link
超链接未被访问的状态。 -
:visited
超链接访问过的状态。 -
:hover
鼠标悬停在元素上的状态。 -
:active
元素激活的状态。在CSS中,元素的激活状态(Active State)是指当用户与元素进行交互并触发其激活行为时的状态。通常,元素的激活状态与用户的操作有关,例如点击、按下鼠标按钮或按下键盘按键等。
一旦用户释放鼠标按钮或松开键盘按键,元素就会恢复到正常状态。
-
:focus
获取焦点的元素。表单类元素才能使用
:focus
伪类。当用户:点击元素、触摸元素、或通过键盘的“tab”键等方式选择元素时,就是获得焦点。
结构伪类
常用结构伪类
:first-child
所有兄弟元素中的第一个。:last-child
所有兄弟元素中的最后一个。:nth-child(n)
所有兄弟元素中的第 n 个。:first-of-type
所有同类型兄弟元素中的第一个。:last-of-type
所有同类型兄弟元素中的最后一个。:nth-of-type(n)
所有同类型兄弟元素中的 第n个 。
关于n的值:
0
或不写
:什么都选不中 —— 几乎不用。n
:选中所有子元素 —— 几乎不用。1~正无穷的整数
:选中对应序号的子元素。2n
或even
:选中序号为偶数的子元素。2n+1
或odd
:选中序号为奇数的子元素。-n+3
:选中的是前 3 个。
不常用结构伪类
:nth-last-child(n)
所有兄弟元素中的倒数第 n 个。:nth-last-of-type(n)
所有同类型兄弟元素中的 倒数第n个 。:only-child
选择没有兄弟的元素(独生子女)。:only-of-type
选择没有同类型兄弟的元素。:root
根元素。:empty
内容为空元素(空格也算内容)。
否定伪类
:not(选择器)
排除满足括号中条件的元素。
UI伪类
:checked
被选中的复选框或单选按钮。:enable
可用的表单元素(没有disabled
属性)。:disabled
不可用的表单元素(有disabled
属性)。
目标伪类
:target
选中锚点指向的元素。
语言伪类
:lang()
根据指定的语言选择元素(本质是看 lang
属性的值)
伪元素选择器
使用场景:选中元素中的一些特殊位置
常用伪元素:
::first-letter
选中元素中的第一个文字。::first-line
选中元素中的第一行文字。::selection
选中被鼠标选中的内容。::placeholder
选中输入框的提示文字。::before
在元素最开始的位置,创建一个子元素(必须用content
属性指定内容)。::after
在元素最后的位置,创建一个子元素(必须用content
属性指定内容)。