我可以让Firefox不显示丑陋的点状焦点轮廓的链接:
a:focus {
outline: none;
}
但我怎么能这样做<按钮>标签以及?当我这样做的时候:
button:focus {
outline: none;
}
当我点击它们时,按钮仍然有虚线焦点轮廓。
(是的,我知道这是一个可用性问题,但我想提供我自己的重点提示,这是适合于设计,而不是丑陋的灰点)
我可以让Firefox不显示丑陋的点状焦点轮廓的链接:
a:focus {
outline: none;
}
但我怎么能这样做<按钮>标签以及?当我这样做的时候:
button:focus {
outline: none;
}
当我点击它们时,按钮仍然有虚线焦点轮廓。
(是的,我知道这是一个可用性问题,但我想提供我自己的重点提示,这是适合于设计,而不是丑陋的灰点)
当前回答
如果你在一个按钮上有一个边框,并且想要在Firefox中隐藏虚线轮廓而不删除边框(因此它在按钮上有额外的宽度),你可以使用:
.button::-moz-focus-inner {
border-color: transparent;
}
其他回答
我认为你应该知道你移除焦点轮廓是在做什么,因为它会破坏键盘导航和可访问性。
如果你因为设计问题需要把它去掉,添加一个:focus状态到按钮上,用其他视觉提示替换它,比如,将边框更改为更亮的颜色或类似的东西。
有时我觉得有必要把烦人的轮廓去掉,但我总是准备一个替代焦点视觉线索。
永远不要使用blur() js函数。使用::-moz-focus-inner伪类。
在Firefox中使用CSS无法删除这些点状焦点。
如果你可以访问你的web应用程序工作的计算机,在Firefox中进入about:config并设置browser.display。Focus_ring_width为0。然后Firefox将不会显示任何虚线边界。
下面的错误解释了主题:https://bugzilla.mozilla.org/show_bug.cgi?id=74225
如果你更喜欢使用CSS来摆脱虚线轮廓:
/*for FireFox*/
input[type="submit"]::-moz-focus-inner, input[type="button"]::-moz-focus-inner
{
border : 0;
}
/*for IE8 and below */
input[type="submit"]:focus, input[type="button"]:focus
{
outline : none;
}
你可以尝试在CSS中使用button::-moz-focus-inner {border: 0px solid transparent;}。
:focus, :active {
outline: 0;
border: 0;
}