当一个HTML元素被“聚焦”(当前选中/标签进入),许多浏览器(至少Safari和Chrome)会在它周围放一个蓝色边框。

对于我正在工作的布局,这是分散注意力,看起来不正确。

<input type="text" name="user" class="middle" id="user" tabindex="1" />

Firefox似乎没有这样做,或者至少,会让我控制它:

border: x;

如果有人能告诉我IE的表现如何,我会很好奇。

让Safari删除这一点闪光会很好。


当前回答

当焦点在元素上时,使用下面的CSS属性删除轮廓:

input:focus {
    outline: 0;
}

这个CSS属性删除焦点上所有输入字段的轮廓,或者使用伪类使用下面的CSS属性删除元素的轮廓。

.className input:focus {
    outline: 0;
} 

此属性删除所选元素的轮廓。

其他回答

使用以下代码:

input:focus {
    outline: 0;
}

试试这个:

*:focus {
    outline: none;
}

这将影响您的所有页面。

这是唯一对我有效的办法

边界实际上是一个影子。所以为了隐藏它,我不得不这样做:

input[type="text"]:focus{
     box-shadow: 0 0 0 rgb(255, 255, 255);
}

 input[type="checkbox"]:focus{
      box-shadow: 0 0 0 rgb(255, 255, 255);
 }

这是一个旧线程,但作为参考,重要的是要注意,不建议禁用输入元素的大纲,因为它阻碍了可访问性。

outline属性的存在是有原因的——为用户提供一个清晰的键盘焦点指示。有关该主题的进一步阅读和其他来源,请参阅http://outlinenone.com/

我尝试了所有的答案,我仍然不能让我的工作在移动,直到我找到-webkit-tap-highlight-color。

所以,对我有用的是……

* { -webkit-tap-highlight-color: transparent; }