我可以让Firefox不显示丑陋的点状焦点轮廓的链接:
a:focus {
outline: none;
}
但我怎么能这样做<按钮>标签以及?当我这样做的时候:
button:focus {
outline: none;
}
当我点击它们时,按钮仍然有虚线焦点轮廓。
(是的,我知道这是一个可用性问题,但我想提供我自己的重点提示,这是适合于设计,而不是丑陋的灰点)
我可以让Firefox不显示丑陋的点状焦点轮廓的链接:
a:focus {
outline: none;
}
但我怎么能这样做<按钮>标签以及?当我这样做的时候:
button:focus {
outline: none;
}
当我点击它们时,按钮仍然有虚线焦点轮廓。
(是的,我知道这是一个可用性问题,但我想提供我自己的重点提示,这是适合于设计,而不是丑陋的灰点)
当前回答
网络上有很多解决方案,其中很多都是有效的,但为了做到这一点,你可以使用以下方法:
::-moz-focus-inner, :active, :focus {
outline:none;
border:0;
-moz-outline-style: none;
}
这只是增加了一点额外的安全&密封交易!
其他回答
我认为你应该知道你移除焦点轮廓是在做什么,因为它会破坏键盘导航和可访问性。
如果你因为设计问题需要把它去掉,添加一个:focus状态到按钮上,用其他视觉提示替换它,比如,将边框更改为更亮的颜色或类似的东西。
有时我觉得有必要把烦人的轮廓去掉,但我总是准备一个替代焦点视觉线索。
永远不要使用blur() js函数。使用::-moz-focus-inner伪类。
你可能想要加强注意力,而不是摆脱它。
button::-moz-focus-inner {border: 2px solid transparent;}
button:focus::-moz-focus-inner {border-color: blue}
在尝试了以上的许多选择后,只有以下几种对我有用。
*:focus, *:visited, *:active, *:hover { outline:0 !important;}
*::-moz-focus-inner {border:0;}
在大多数情况下,如果不向CSS代码中添加重要的!,它将无法工作。
所以,别忘了加上!important
a, a:active, a:focus{
outline: none !important; /* Works in Firefox, Chrome, IE8 and above */
}
或任何其他代码:
button::-moz-focus-inner {
border: 0 !important;
}
我试了这里的大部分答案,但没有一个对我有用。当我意识到我也必须去掉Chrome上按钮的蓝色轮廓时,我找到了另一个解决方案。删除蓝色边框从css自定义样式的按钮在Chrome
这段代码适用于Windows 7上的Firefox 30版本。也许这可以帮助到其他人:)
button:focus {outline:0 !important;}