:focus伪类是最标准可靠的输入框聚焦样式控制方式,支持边框、阴影等属性修改,需兼顾outline可访问性及transition平滑效果。
直接用 :focus 伪类就能控制输入框获得焦点时的样式,这是最标准、最可靠的方式。
只需在 CSS 中为 input(或具体类型如 input[type="text"])添加 :focus 规则:
input:focus、.form-input:focus 或 #search-box:focusbox-shadow: 0 0 4px rgba(33, 150, 243, 0.5);outline: none;,但建议同时提供其他视觉反馈,保证可访问性加上 transition 让样式变化更自然:
transition: border-color 0.2s, box-shadow 0.2s;:focus 在所有现代浏览器中都支持,但要注意几点:
outline: none 却没提供替代样式,键盘用户将无法判断当前焦点位置,影响无障碍使用-webkit-text-size-adjust: 100%; 和设置 viewport 缓解基本上就这些。:focus 是原生、轻量、语义清晰的方案,不用 JS 就能搞定聚焦反馈,用对了效果很稳。