:focus 在元素获得焦点时生效,常用于表单高亮;:active 在元素被激活瞬间触发,用于模拟按下效果;前者持续至失焦,后者仅在按下时存在。
:focus 和 :active 是 CSS 中两个常用的伪类,它们都用于描述元素的特定状态,但触发条件和使用场景不同。
当一个元素获得焦点时,:focus 生效。这通常发生在以下情况:
常见用途包括高亮当前正在输入的表单字段:
input:focus {:active 在元素被激活(例如鼠标按下但尚未释放)时生效。它反映的是“正在操作”的瞬间状态。
常用于模拟按钮按下效果:
button:active {两者的核心差异在于触发机制:
并非所有元素都能触发 :focus,只有可交互元素(如表单控件、带 tabindex 的元素)才支持。而 :active 几乎可用于任何可见元素,包括链接和 div。
基本上就这些。合理使用这两个伪类能显著
提升界面的交互反馈体验。