伪类
CSS **伪类**是添加到选择器的关键字,用于指定所选元素的特殊状态。例如,伪类 :hover
可以用于选择一个按钮,当用户的指针悬停在按钮上时,设置此按钮的样式。
css
/* 用户的指针悬停在其上的任何按钮 */
button:hover {
color: blue;
}
伪类由冒号(:
)后跟着伪类名称组成(例如,:hover
)。函数式伪类还包含一对括号来定义参数(例如,:dir()
)。附上了伪类的元素被定义为锚元素(例如,button:hover
中的 button
)。
伪类让你可以将样式应用于元素,不仅与文档树内容有关,也与外部因素有关——如与导航历史有关的(例如,:visited
)、与其内容的状态有关的(如某些表单元素上的 :checked
)或者与鼠标位置有关的(如 :hover
,它可以让你知道鼠标是否在一个元素上)。
备注: 相较于伪类,伪元素可用于设置元素特定部分的样式。
元素显示状态伪类
这些伪类可以基于元素的显示状态来选择它们。
:fullscreen
-
匹配当前处于全屏模式的元素。
输入状态伪类
这些伪类与表单元素相关,可以基于 HTML 属性或交互前后字段的状态来选择元素。
TBD
语言的伪类
位置伪类
这些伪类与链接以及当前文档中的目标元素有关。
TBD
资源状态伪类
这些伪类应用于能够处于被描述为“正在播放”状态的媒体,例如视频。
TBD
时间方面的伪类
这些伪类适用于查看有计时功能的东西,如 WebVTT 字幕轨。
TBD
树结构的伪类
用户行为伪类
这些伪类需要用户进行一些交互才能够应用,例如将鼠标指针悬停在元素上。
TBD
函数式伪类
语法
css
selector:pseudo-class {
property: value;
}
像常规的类一样,你可以在选择器中将任意数量的伪类链在一起。
字母索引
由一组 CSS 规范定义的伪类包括以下内容:
A
B
:blank
实验性
C
D
E
F
H
:has()
实验性:host
:host()
:host-context()
实验性:hover
I
L
M
N
:not()
:nth-child()
:nth-col()
实验性:nth-last-child()
:nth-last-col()
实验性:nth-last-of-type()
:nth-of-type()
O
P
R
S
T
U
:user-invalid
实验性
V
W
规范
Specification |
---|
HTML Standard # pseudo-classes |
Selectors Level 4 |
CSS Basic User Interface Module Level 4 |