我可以让Firefox不显示丑陋的点状焦点轮廓的链接:
a:focus {
outline: none;
}
但我怎么能这样做<按钮>标签以及?当我这样做的时候:
button:focus {
outline: none;
}
当我点击它们时,按钮仍然有虚线焦点轮廓。
(是的,我知道这是一个可用性问题,但我想提供我自己的重点提示,这是适合于设计,而不是丑陋的灰点)
我可以让Firefox不显示丑陋的点状焦点轮廓的链接:
a:focus {
outline: none;
}
但我怎么能这样做<按钮>标签以及?当我这样做的时候:
button:focus {
outline: none;
}
当我点击它们时,按钮仍然有虚线焦点轮廓。
(是的,我知道这是一个可用性问题,但我想提供我自己的重点提示,这是适合于设计,而不是丑陋的灰点)
当前回答
这将得到范围控制:
:focus {
outline:none;
}
::-moz-focus-inner {
border:0;
}
input[type=range]::-moz-focus-outer {
border: 0;
}
从:从Firefox的范围输入元素中删除点轮廓
其他回答
我认为你应该知道你移除焦点轮廓是在做什么,因为它会破坏键盘导航和可访问性。
如果你因为设计问题需要把它去掉,添加一个:focus状态到按钮上,用其他视觉提示替换它,比如,将边框更改为更亮的颜色或类似的东西。
有时我觉得有必要把烦人的轮廓去掉,但我总是准备一个替代焦点视觉线索。
永远不要使用blur() js函数。使用::-moz-focus-inner伪类。
不需要定义选择器。
:focus {outline:none;}
::-moz-focus-inner {border:0;}
然而,这违反了W3C的可访问性最佳实践。大纲是用来帮助那些用键盘导航的人。
https://www.w3.org/TR/WCAG20-TECHS/F78.html#F78-examples
你可能想要加强注意力,而不是摆脱它。
button::-moz-focus-inner {border: 2px solid transparent;}
button:focus::-moz-focus-inner {border-color: blue}
与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文件之后来覆盖它。
这适用于firefox v-27.0
.buttonClassName:focus {
outline:none;
}