:

CSS 伪类

CSS 伪类选择器速查(:hover / :nth-child 等)。

本地处理 · 不上传

加载工具中…

相关:CSS伪类 · pseudo-class · :hover · :nth-child · :focus

CSS 伪类列出结构、状态、表单与较新的伪类,如 :nth-child、:focus-visible、:has。伪类让样式能响应状态而无需额外的类名。

使用步骤

  1. 按状态、结构、表单三类定位伪类
  2. 注意 :nth-child 的计数是从 1 开始且含所有兄弟元素
  3. 确认与 :nth-of-type 的区别再选用
  4. 写完在开发者工具用强制状态功能验证悬停与聚焦

使用场景

  • 选择特定状态或位置的元素
  • 编写交互状态样式
  • 改善表单的可访问性
  • 减少不必要的类名

小贴士

  • :focus-visible 只在键盘导航时显示焦点环,鼠标点击时不显示。它解决了「去掉难看的焦点框」与「键盘用户需要焦点提示」之间的长期矛盾。
  • :nth-child 与 :nth-of-type 的区别在于是否只计算同类型元素,混合结构中两者结果差别很大。
  • 绝不要用 `outline: none` 简单粗暴地去掉焦点样式,那会让键盘用户完全无法知道当前焦点在哪。

常见问题

:focus 和 :focus-visible 有什么区别?

:focus 在任何方式获得焦点时都触发(包括鼠标点击),:focus-visible 只在浏览器判断用户需要焦点提示时触发(主要是键盘导航)。用后者能既保持鼠标点击的清爽,又不牺牲键盘可访问性。

nth-child 和 nth-of-type 怎么选?

nth-child 按所有兄弟元素计数,nth-of-type 只按同标签的元素计数。在 div 和 p 混排的容器中,`p:nth-child(2)` 要求第二个子元素恰好是 p,而 `p:nth-of-type(2)` 是第二个 p。

能去掉焦点边框吗?

不应该直接用 outline: none 去掉。键盘用户依靠它判断当前焦点位置,去掉后网站对他们就无法使用了。正确做法是用 :focus-visible 自定义一个好看但清晰可辨的焦点样式。

CSS 伪类是免费的吗?

是。本站所有工具完全免费,无需注册登录、无广告干扰,打开即用。

使用CSS 伪类,我的数据安全吗?

安全。该工具在你的浏览器本地完成处理,输入内容不会上传到服务器,隐私更有保障。