我想知道是否有可能删除默认的蓝色和黄色辉光,当我点击一个文本输入/文本区域使用CSS?
当前回答
我在一个有点击事件的div上经历了这一点,在20次搜索之后,我发现这个片段挽救了我的一天。
-webkit-tap-highlight-color: rgba(0,0,0,0);
这将禁用webkit移动浏览器中的默认按钮高亮显示
其他回答
Carl W:
这种效果也会发生在非输入元素上。我发现下面是一个更通用的解决方案 :专注{ 边框色:透明; outline-style:没有; }
我来解释一下:
:focus意味着它对焦点中的元素进行样式化。因此,我们对焦点中的元素进行样式化。 边框色:透明;意味着蓝光是透明的。 outline-style:没有;做同样的事情。
有时也会发生按钮,然后使用下面来删除外线
input:hover
input:active,
input:focus,
textarea:active,
textarea:hover,
textarea:focus,
button:focus,
button:active,
button:hover
{
outline:0px !important;
}
编辑(11年后):不要这样做,除非您要提供一个回退来指示哪个元素是活动的。否则,这会损害可访问性,因为它实际上删除了显示文档中哪个元素具有焦点的指示。想象一下,你是一个键盘用户,却不知道你可以与什么元素交互。在这里,让易用性胜过美学。
textarea, select, input, button { outline: none; }
尽管,有人认为保持发光/轮廓实际上有利于可访问性,因为它可以帮助用户看到当前关注的元素。
您还可以使用伪元素':focus'来只针对用户选择的输入。
演示:https://jsfiddle.net/JohnnyWalkerDesign/xm3zu0cf/
我发现删除“滑动门”类型输入按钮上的轮廓很有帮助,因为轮廓没有覆盖滑动门图像的正确“帽子”,使焦点状态看起来有点不稳定。
input.slidingdoorbutton:focus { outline: none;}
这个解决方案对我很有效。
input:focus {
outline: none !important;
box-shadow: none !important;
}