如何移除指定输入容器的outline并保留边框?尝试outline:0无效
解决方法:精准针对内部输入框设置outline
哦,我立刻get到问题啦!你现在把outline: 0写在了包裹输入框的<div id="input_field">上,但浏览器默认给输入框添加的焦点outline是属于里面的<input>元素的,不是外层的div容器,所以这个样式根本没作用到正确的目标上~
要实现“只移除这个特定输入区域的outline,保留其他输入框的outline”,你只需要用后代选择器,精准选中#input_field里面的input元素来设置outline样式就行,不会影响页面里的其他输入框。
修改后的CSS代码:
/* 保留你原来的#input_field样式 */ #input_field { width: fit-content; margin: auto; margin-top: 20%; border-radius: 30px; border: 2px solid turquoise; padding: 6px; } /* 新增这一段,只移除这个div内部input的outline */ #input_field input { outline: 0; /* 也可以写成 outline: none; 效果一致 */ } /* 你的其他样式保持不变 */ .lucky_pos, .button_search_pos{ text-align: center; padding:1px; margin: 0; flex-direction: row; }
这样设置后,只有#input_field里面的那个输入框会失去默认的outline,其他页面中的输入框都会保留原本的outline效果,完全符合你的需求~
小提示:如果考虑到无障碍访问,建议给这个输入框自定义一个焦点样式(比如:focus时改变边框颜色),这样键盘导航的用户依然能清晰看到焦点位置;如果不需要的话,上面的代码就足够啦。
内容的提问来源于stack exchange,提问作者user10575420
相关产品推荐
相关产品推荐

