可通过CSS的:focus伪类自定义元素获得焦点时的样式,常用outline属性修改轮廓颜色和样式,如input:focus { outline: 2px solid blue; };也可仅更改颜色,如outline-color: red;为提升美观可移除默认outline,改用border或box-shadow实现聚焦效果,但需确保键盘用户的可访问性,提供如边框变色、阴影或背景色调整等明显焦点提示,兼顾视觉设计与可用性。

当元素获得焦点时,比如输入框被点击或通过Tab键选中,浏览器默认会显示一个轮廓(outline)来提示用户。你可以通过CSS的 :focus 伪类来自定义这个焦点状态的样式,包括颜色、轮廓、阴影等。
使用 outline 改变焦点轮廓颜色
最常见的方式是修改 outline 属性,控制焦点边框的颜色和样式:
input:focus {
outline: 2px solid blue;
}
你也可以只改变颜色,保留默认粗细和样式:
input:focus {
outline-color: red;
}
移除默认轮廓并使用 border 或 box-shadow
有时默认 outline 样式不够美观,可以先清除它,再用 border 或 box-shadow 实现更精致的效果:
立即学习“前端免费学习笔记(深入)”;
input:focus {
outline: none;
border: 2px solid green;
}
或者用阴影增强视觉效果:
input:focus {
outline: none;
box-shadow: 0 0 5px 2px rgba(0, 123, 255, 0.5);
}
确保可访问性
虽然可以移除 outline,但强烈建议为键盘用户保留明显的焦点指示,避免影响无障碍访问。如果隐藏了 outline,一定要提供其他清晰的聚焦反馈,比如:
- 改变边框颜色
- 添加内阴影或外阴影
- 背景色微调
button:focus {
outline: none;
background-color: #e0f7fa;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
基本上就这些。合理使用 :focus 可以提升用户体验,关键是既要美观,也要保持可用性。










