CSS 伪类详解:UI 伪类与结构化伪类的用法与实战
CSS 伪类(Pseudo-class)是一种特殊的选择符,用于选择处于特定状态或具有特定结构关系的元素—— 它们无需在 HTML 中添加实际的 class 或 id,而是通过元素的 “动态状态”(如鼠标悬停)或 “结构位置”(如列表第 3 项)来定位元素。伪类极大地扩展了 CSS 的选择能力,是实现交互效果和结构化样式的核心工具。从 “核心概念→分类详解→实战场景→注意事项” 四个维度,全面讲解伪类的使用方法与进阶技巧。
伪类核心概念
1. 伪类的语法
伪类以冒号 : 开头,紧跟伪类名称,语法格式如下:
1 | /* 基础语法:选择符 + 伪类 */ |
2. 伪类的核心特点
- 无实际 class:伪类不依赖 HTML 中的
class属性,而是基于元素的 “状态” 或 “结构” 动态生效; - 动态性:UI 伪类(如
:hover)会随用户操作(如鼠标移动)实时切换样式; - 结构性:结构化伪类(如
:nth-child)仅依赖 HTML 结构(如元素在父容器中的位置),与用户操作无关; - 可叠加使用:多个伪类可叠加(如
a:link:hover,表示 “未点击的链接被悬停时”)。
UI 伪类:基于元素状态的样式
UI 伪类(UI Pseudo-classes)用于选择处于特定交互状态的元素,核心场景是响应用户操作(如点击、悬停、聚焦),最典型的应用是链接样式控制。
1. 链接相关的 UI 伪类
链接(<a> 标签)是 UI 伪类最常用的场景,4 个伪类分别对应链接的不同生命周期状态,必须按固定顺序书写(link → visited → hover → active),否则样式可能失效。