请参阅此代码示例:http://jsfiddle.net/Z2BMK/
Chrome / IE8看起来像这样
Firefox看起来像这样
我的CSS是
button {
padding:0;
background:#080;
color:white;
border:solid 2px;
border-color: #0c0 #030 #030 #0c0;
margin:0;
}
如何在两个浏览器中更改代码示例以使按钮相同?我不想使用基于JavaScript的超链接,因为它们不能与键盘上的空格键一起使用,并且必须有一个href
URL,这不是处理事情的干净方法。
button::-moz-focus-inner { margin: -1px; padding: 0; border-width: 1px; }
答案 0 :(得分:164)
添加:
button::-moz-focus-inner {
padding: 0;
border: 0
}
http://jsfiddle.net/thirtydot/Z2BMK/1/
包含上面border
规则对于两个浏览器中的按钮看起来相同是必要的,但是当Firefox中的按钮为active
时,它也会删除虚线轮廓。许多开发人员摆脱了这个虚线轮廓,可选择用更具视觉友好性的东西替换它。
答案 1 :(得分:8)
要在输入元素上修复它,也要添加
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner
简单完美!
答案 2 :(得分:0)
@thirtydot 答案的更正版本:
button:: {
padding: 0px;
border: 0px;
}
button::-moz-focus-inner {
padding: 0px;
border: 0px;
}
关于 Firefox 87:
button
中的 button::-moz-focus-inner
不能是类。 (例如,.mybutton::-moz-focus-inner
不起作用)
还必须存在 button { padding:0px; border: 0px; }
样式(可以为每个类指定此样式)。