• ベストアンサー

cssで0でも書くのはなぜでしょうか?

スタイルシートをはじめたばかりです。 よくmargin: 0;やpadding: 0; boder: 0;と書きますが、0でも書かなきゃどこかまずい位置に行っていまうからなんでしょうかね。 ブラウザによって違うがら配慮してのことなのでしょうか? どうぞよろしくおねがい致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • elttac
  • ベストアンサー率70% (592/839)
回答No.3

 仕様上は,margin,padding の【初期値(デフォルト)は 0】です。border に関しては,border-width の初期値は medium ですが,border-style の初期値が none なので,枠は描かれません。  さてしかし,実際は,ブラウザが各要素について,この初期値を書き換えています。ちょうど,ブラウザがそれぞれ「ブラウザの既定のスタイルのスタイルシート」を持っていることと同等です。  たとえば,多くのブラウザで,「p の前後は 1 行分空く」スタイルになっていますが,これは,ブラウザが, p { margin-top: 1em; margin-bottom: 1em; } と設定していると考えられます。  こういった「既定のスタイル」は,たしかにブラウザによって多少違いがありますから,これを帳消しにするために, * { margin: 0; padding: 0; } という記述を入れて,すべての要素について 1 から余白などを設定しなおすという手法が取られます。

その他の回答 (2)

回答No.2

 IEなんかでもそうですけど、  margin  padding  border これらは0以外がデフォルトです。  読みやすくするために、ブラウザが余白を空けたり、 罫線に幅を持たせたりしています。 CSSで自由にデザインしたい場合は、これらのデフォルト値が 邪魔になることがありますので、0を設定します。 (画像の周りに余白を開けたくないなどの理由)  また、何かを記述する場合は、たとえデフォルトであっても あらゆる環境を想定し値を設定しておくのがマナーとされています。

  • yakou850
  • ベストアンサー率49% (25/51)
回答No.1

あまり自分もCSSは詳しくないのですが、 marginなどのデフォルトは0でなかったと思います。 それを0として使いたいので、0と書くのだと思います。 0を書くことで、より自分の求めたデザインに近づけるので書くのでしょう。

関連するQ&A