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

a:focus { 
    outline: none; 
}

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

button:focus { 
    outline: none; 
}

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

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


当前回答

你可以尝试在CSS中使用button::-moz-focus-inner {border: 0px solid transparent;}。

其他回答

:focus, :active {
    outline: 0;
    border: 0;
}

如果你更喜欢使用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; 
    }

在尝试了以上的许多选择后,只有以下几种对我有用。

*:focus, *:visited, *:active, *:hover  { outline:0 !important;}
*::-moz-focus-inner {border:0;}

与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中隐藏虚线轮廓而不删除边框(因此它在按钮上有额外的宽度),你可以使用:

.button::-moz-focus-inner {
    border-color: transparent;
}