输入框聚焦时的颜色主要通过:focus伪类控制,常用border-color、outline-color或box-shadow设置;需同时定义border-width和border-style,慎用outline:none,推荐box-shadow替代并添加transition实现平滑动效。
输入框聚焦时的颜色,主要通过 :focus 伪类来控制,关键在于设置 border-color、outline-color 或 box-shadow 等属性。
最常用方式是改边框色。默认输入框聚焦时常带蓝色边框,可通过以下 CSS 覆盖:
input:focus 设置 border-color,例如:border-color: #409eff;
border-width 和 border-style(如 solid),否则可能不生效border: none,需先恢复边框,再单独设颜色浏览器默认会加一圈虚线外轮廓,影响美观:
outline
: none; 彻底去掉(注意:降低可访问性,慎用)outline-color 或用 outline-offset 微调位置box-shadow 替代 outline,例如:box-shadow: 0 0 0 2px rgba(64, 158, 239, 0.3);
确保所有文本类输入都统一响应:
input[type="text"]:focus, input[type="password"]:focus, textarea:focus
:focus-visible 可区分键盘聚焦(提升可访问性),例如:input:focus-visible { outline: 2px solid #409eff; }
:focus 导致鼠标点击也触发 outline,可结合 :focus-within 控制父容器高亮聚焦颜色变化加动画,体验更平滑:
input 样式中添加:transition: border-color 0.2s ease, box-shadow 0.2s ease;
border-color 或 box-shadow 会渐变切换,不突兀all: transition,可能影响性能或意外动画