我可以让Firefox不显示丑陋的点状焦点轮廓的链接:

a:focus { 
    outline: none; 
}

但我怎么能这样做<按钮>标签以及?当我这样做的时候:

button:focus { 
    outline: none; 
}

当我点击它们时,按钮仍然有虚线焦点轮廓。

(是的,我知道这是一个可用性问题,但我想提供我自己的重点提示,这是适合于设计,而不是丑陋的灰点)


当前回答

在大多数情况下,如果不向CSS代码中添加重要的!,它将无法工作。

所以,别忘了加上!important

a, a:active, a:focus{
    outline: none !important; /* Works in Firefox, Chrome, IE8 and above */
}

或任何其他代码:

button::-moz-focus-inner {
  border: 0 !important;
}

其他回答

在Firefox中使用CSS无法删除这些点状焦点。

如果你可以访问你的web应用程序工作的计算机,在Firefox中进入about:config并设置browser.display。Focus_ring_width为0。然后Firefox将不会显示任何虚线边界。

下面的错误解释了主题:https://bugzilla.mozilla.org/show_bug.cgi?id=74225

你可以尝试在CSS中使用button::-moz-focus-inner {border: 0px solid transparent;}。

看起来实现这一点的唯一方法就是通过设置

browser.display.focus_ring_width = 0

在about:config中基于每个浏览器。

我试了这里的大部分答案,但没有一个对我有用。当我意识到我也必须去掉Chrome上按钮的蓝色轮廓时,我找到了另一个解决方案。删除蓝色边框从css自定义样式的按钮在Chrome

这段代码适用于Windows 7上的Firefox 30版本。也许这可以帮助到其他人:)

button:focus {outline:0 !important;}

网络上有很多解决方案,其中很多都是有效的,但为了做到这一点,你可以使用以下方法:

::-moz-focus-inner, :active, :focus {
    outline:none;
    border:0;
    -moz-outline-style: none;
}

这只是增加了一点额外的安全&密封交易!