在firefox 3.6中,您可以使用::-moz-focus-inner {border:0;padding:0;margin:0;}
删除这些默认边距并添加填充forms.css
。
如何在Firefox 4中重置此功能?我一直在搜索安装目录中的任何.css文件,这些文件可以为我的按钮添加样式但是找不到ff4的任何内容 - 按钮仍然会获得令人讨厌的1px顶部填充,这将不允许文本与垂直对齐中间。
http://easwee.net/other/FF_problem.gif
编辑:我使用重置样式表,因此无需重置样式。这是一个混乱的浏览器样式表。
答案 0 :(得分:26)
我实际上是自己找到了解决方案。
在您的网址字段中输入:resource://gre-resources/forms.css
- 这将打开FF4的forms.css - 并搜索以下选择器
button::-moz-focus-inner,
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
现在把它放在你的主样式表中,如:
button::-moz-focus-inner,
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 {border:0;padding:0;margin:0;}
它不应该再压倒你的css了。另请注意,如果您没有为输入定义任何字体样式,FF将不会继承正文字体样式。
答案 1 :(得分:1)
尝试将其值设置为undefined(border:undefined
等)。我不确定这里,但是当我遇到类似的问题时,它对我有用。
答案 2 :(得分:1)
Twitter Bootstrap在其reset.less
(normalize.css
的更多准系统版本)中执行此操作:
button::-moz-focus-inner,
input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
padding: 0;
border: 0;
}
顺便说一下,Bootstrap的reset.less
可能是一种更可靠,更长久的解决方案,可以实现跨浏览器的形式,而不是维护自己的规则。它比Meyer的reset.css
更完整,但比normalize.css
更简约。
答案 3 :(得分:0)
只需使用css重置样式表,它将重置大多数浏览器的所有默认css
http://meyerweb.com/eric/tools/css/reset/
或阅读此stackeoverflow Q& A