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

a:focus { 
    outline: none; 
}

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

button:focus { 
    outline: none; 
}

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

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


当前回答

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

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

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

其他回答

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

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

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

与Bootstrap 3一起,我使用了这段代码。第二组规则只是撤销了bootstrap对焦点/活动按钮的作用:

button::-moz-focus-inner {
  border: 0;    /*removes dotted lines around buttons*/
}

.btn.active.focus, .btn.active:focus, .btn.focus, .btn.focus:active, .btn:active:focus, .btn:focus{
  outline:0;
}

注意,你的自定义css文件应该在你的html代码中的引导css文件之后来覆盖它。

这将得到范围控制:

:focus {
    outline:none;
}
::-moz-focus-inner {
    border:0;
}
input[type=range]::-moz-focus-outer {
    border: 0;
}

从:从Firefox的范围输入元素中删除点轮廓

我认为你应该知道你移除焦点轮廓是在做什么,因为它会破坏键盘导航和可访问性。

如果你因为设计问题需要把它去掉,添加一个:focus状态到按钮上,用其他视觉提示替换它,比如,将边框更改为更亮的颜色或类似的东西。

有时我觉得有必要把烦人的轮廓去掉,但我总是准备一个替代焦点视觉线索。

永远不要使用blur() js函数。使用::-moz-focus-inner伪类。

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

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

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