:focus-visible是CSS伪类,根据用户交互方式智能显示焦点样式。键盘导航时高亮输入框边框与阴影,鼠标点击则不显示,提升美观与可用性;通过@supports检测兼容性,确保老旧浏览器正常降级,保持基础功能的同时优化视觉体验。

在CSS中使用 focus-visible 可以智能地为可聚焦元素(如输入框)添加焦点样式,仅在用户通过键盘导航时显示视觉提示,避免鼠标点击时出现不必要的轮廓线。
:focus-visible 是一个CSS伪类,浏览器会根据用户的交互方式自动判断是否应用该样式。当用户使用Tab键导航到输入框等表单元素时触发,但用鼠标点击时不激活,提升界面美观与可用性。
你可以结合 :focus 和 :focus-visible 来控制何时显示特定的焦点样式:
input:focus {
outline: none; /* 移除默认轮廓 */
}
<p>input:focus-visible {
outline: 2px solid #4a90e2;
border-color: #4a90e2;
box-shadow: 0 0 8px rgba(74, 144, 226, 0.5);
}</p>这样设置后:
立即学习“前端免费学习笔记(深入)”;
虽然现代浏览器普遍支持 :focus-visible,但仍有一些旧版本不兼容。推荐使用 @supports 进行特性检测,确保样式安全降级:
/* 默认只给键盘用户提供视觉反馈 */
input:focus {
outline: none;
}
<p>@supports (focus-visible: auto) {
input:focus {
outline: none;
}
input:focus-visible {
outline: 2px solid #4a90e2;
border-color: #4a90e2;
box-shadow: 0 0 8px rgba(74, 144, 226, 0.5);
}
}</p>这种写法确保不支持的浏览器仍能正常显示基础焦点状态,而支持的则享受更智能的行为。
基本上就这些。合理使用 :focus-visible 能在不影响辅助功能的前提下,让页面更干净、体验更自然。
以上就是如何在CSS中使用focus-visible突出输入元素颜色的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号