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
編集:私はリセットスタイルシートを使用しているので、スタイルをリセットする必要はありません。ここで混乱しているのはブラウザのスタイルシートです。
私は実際に自分で解決策を見つけました。
URLフィールドに次のように入力します: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は本文のフォントスタイルを継承しないことに注意してください。
値を未定義に設定してみてください(border:undefined
など)。ここではわかりませんが、同様の問題が発生したときにうまくいきました。
Twitter Bootstrapその reset.less
(これはもっとbarebonesバージョン 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
よりもミニマリストです。
cssリセットスタイルシートを使用するだけで、ほとんどのブラウザのすべてのデフォルトcssがリセットされます
http://meyerweb.com/eric/tools/css/reset/
またはこのstackeoverflowQ&Aをお読みください