在使用 iPhone 或其他 iOS 设备访问网页时,你可能会注意到在 <input>、<textarea> 等表单元素获得焦点时,Safari 浏览器会在其下方或周围添加一个灰色或蓝色的“高亮框”或“阴影边框”。这是 iOS Safari 的默认行为,用于提升移动端表单的可操作性。
但如果你希望完全控制表单样式,使其与设计稿一致,这个默认的“框框”就显得多余甚至影响美观。好消息是:**可以通过 CSS 轻松去掉它**。
-webkit-appearance 和 outline只需为你的输入框添加以下 CSS 样式:
input,
textarea,
select {
-webkit-appearance: none;
outline: none;
/* 可选:重置边框和背景 */
border: 1px solid #ccc;
background: transparent;
}
其中关键属性说明:
-webkit-appearance: none;:移除 iOS 下的默认控件样式(包括那个“框框”)outline: none;:防止聚焦时出现浏览器默认轮廓线注意:完全移除边框后,建议手动设置清晰的 border 或 box-shadow,以保证用户仍能识别可交互区域,提升无障碍体验。
为了更好的兼容性和用户体验,你也可以加上以下重置:
input:focus,
textarea:focus {
box-shadow: none;
-webkit-tap-highlight-color: transparent;
}
这样可以确保在点击或聚焦时没有任何残留的高亮效果。