使用:focus伪类可提升输入框交互体验,通过改变边框、添加阴影、过渡动画及背景色等样式,在获得焦点时提供明显视觉反馈,同时需避免去除outline后无替代方案,确保可访问性。

当用户点击或使用 Tab 键进入输入框时,:focus 伪类会生效,利用它可以轻松实现输入框的聚焦效果。只需要在 CSS 中为 input:focus 设置样式,就能让输入框在获得焦点时产生视觉变化,提升用户体验。
基础聚焦边框变化
最常见的做法是改变输入框的边框颜色或宽度:
input:focus {border: 2px solid #007bff;
outline: none; /* 去除默认轮廓,可选 */
}
这里将边框设为蓝色并加粗,同时去除浏览器默认的外轮廓。可根据设计风格自定义颜色和粗细。
添加阴影增强视觉反馈
通过 box-shadow 可以制作更明显的聚焦提示:
立即学习“前端免费学习笔记(深入)”;
input:focus {border-color: #0056b3;
box-shadow: 0 0 8px rgba(0, 123, 255, 0.5);
outline: none;
}
这种发光效果能快速吸引注意力,适合表单较多的页面。
过渡动画让效果更自然
加入 transition 可使样式变化更平滑:
input {border: 1px solid #ccc;
padding: 10px;
transition: all 0.3s ease;
}
input:focus {
border-color: #007bff;
box-shadow: 0 0 8px rgba(0, 123, 255, 0.3);
outline: none;
}
所有属性的变化都会在 0.3 秒内完成,避免突兀跳变。
配合背景色或文字颜色变化
除了边框和阴影,也可以调整背景或字体:
input:focus {background-color: #f8f9fa;
color: #495057;
border-color: #6c757d;
outline: none;
}
浅灰背景搭配深色文字,让用户明确当前操作的是哪个输入框。
基本上就这些。合理使用 :focus 能显著提升表单的可用性,关键是要让聚焦状态足够明显又不破坏整体设计。不复杂但容易忽略细节,比如去掉 outline 后一定要提供替代样式,否则会影响键盘导航用户的体验。










