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

a:focus { 
    outline: none; 
}

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

button:focus { 
    outline: none; 
}

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

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


当前回答

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

browser.display.focus_ring_width = 0

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

其他回答

从链接、按钮和输入元素中删除点轮廓。

a:focus, a:active,
button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
    border: 0;
    outline : 0;
}

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

browser.display.focus_ring_width = 0

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

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

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

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

不需要定义选择器。

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

然而,这违反了W3C的可访问性最佳实践。大纲是用来帮助那些用键盘导航的人。

https://www.w3.org/TR/WCAG20-TECHS/F78.html#F78-examples

如果你在一个按钮上有一个边框,并且想要在Firefox中隐藏虚线轮廓而不删除边框(因此它在按钮上有额外的宽度),你可以使用:

.button::-moz-focus-inner {
    border-color: transparent;
}