我可以让Firefox不显示丑陋的点状焦点轮廓的链接:
a:focus {
outline: none;
}
但我怎么能这样做<按钮>标签以及?当我这样做的时候:
button:focus {
outline: none;
}
当我点击它们时,按钮仍然有虚线焦点轮廓。
(是的,我知道这是一个可用性问题,但我想提供我自己的重点提示,这是适合于设计,而不是丑陋的灰点)
我可以让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;
}
其他回答
下面的CSS代码可以移除这个:
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,
select::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner {
border: 0;
outline : 0;
}
如果你在一个按钮上有一个边框,并且想要在Firefox中隐藏虚线轮廓而不删除边框(因此它在按钮上有额外的宽度),你可以使用:
.button::-moz-focus-inner {
border-color: transparent;
}
从链接、按钮和输入元素中删除点轮廓。
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;
}
【更新】这个解决方案不再有效。对我有效的解决方案是https://stackoverflow.com/a/3844452/925560
标记为正确的答案在Firefox 24.0中无法使用。
为了移除Firefox在按钮和锚标记上的虚线轮廓,我添加了下面的代码:
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,
select::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner {
border: 0;
outline : 0;
}
我在这里找到了解决方案:http://aghoshb.com/articles/css-how-to-remove-firefoxs-dotted-outline-on-buttons-and-anchor-tags.html
使用此代码在Firefox 46和Chrome 49上测试。
input:focus, textarea:focus, button:focus {
outline: none !important;
}
之前(白点可见)
之后(白点看不见)
如果你想只应用在几个输入字段,按钮等。使用更具体的代码。
input[type=text] {
outline: none !important;
}