← [ BACK_TO_NOTES ]

伪类状态设计

从实战角度理解 hover、focus、active 等伪类状态,以及为什么交互样式不只是“加个 hover”。

#concept #growing #css #frontend

[!info] related notes

伪类状态设计

很多人学伪类,只记成“:hover 会变色”,但在真实项目里,伪类更像交互反馈系统的一部分。

一句话主线

伪类状态设计的目标不是做装饰,而是让用户知道当前元素能不能交互、正在被怎样交互。

最常见的交互状态

:hover

表示鼠标悬停。

:focus

表示元素获得焦点,尤其对键盘导航和表单交互很重要。

:active

表示元素处于按下中的瞬时状态。

:visited

通常用于链接已访问状态。

为什么不能只写 :hover

因为很多交互场景不只靠鼠标:

  • 键盘导航依赖 :focus
  • 按压反馈依赖 :active
  • 表单可用性很大程度依赖焦点态是否清晰

所以一个按钮或输入框的状态设计,通常至少要考虑:

  • 默认态
  • 悬停态
  • 聚焦态
  • 激活态

实战建议

  • 不要为了“简洁”去掉焦点态却不给替代反馈
  • :hover 适合提示可交互性,不应该成为唯一状态反馈
  • 状态切换配合 transition 会更自然,但不要过度动画化

最短记忆方式

伪类状态不是点缀,而是交互反馈的一部分;别只写 :hover,忘了 :focus。

创建于 2026/3/25 更新于 2026/7/15
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本