• ベストアンサー

*{margin:0px;padding:0px;}というCSSのタグの意味について教えてください。

<style type="text/css"> *{margin:0px;padding:0px;} </style> ホームページで上記のようなソースを見かけたのですが、これはどういう意味なのでしょうか? 試しに新規ページにこのコードを記述してbody内にtableを作ってみたのですが、tableに記述したcellpaddingが 数値をいろいろ変えても動作しません。 この*{margin:0px;padding:0px;}という記述をすることによる意図は何なのでしょうか? 宜しくお願いします。

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

  • ベストアンサー
  • Nine-nine
  • ベストアンサー率49% (25/51)
回答No.2

*はトランプのジョーカーみたいなものです。何にでも当てはまりますカードと思うといいです。 margin:0px;padding:0px; これはマージンやパッディングを0にするってことです 何もしないで文字を入れると、ブラウザによってはぴったり上にくっつかないとか、くっつくとかいろいろ初期値が違うので、どのブラウザでも同じようにしたいときに、一律これだけと指示することが多いです。 ●cellpaddingが聞かない理由と聞かせる方法 *はなんでもですが、より詳しい記述があれば、そちらを優先させるというルールがあります。詳細度といいます。同じ詳細度なら、後から書いた方が優先されます。 *(何でも)より見出しや段落、テーブルと具体的な場所に対する指示の方が優先されます。 そして外部よりヘッダ。ヘッダよりインラインの方が優先度が高くなります。 そして、タグによってはどこに記述しても*より弱いタグもあります。 今回のcellpaddingやfontがそれにあたります。誤解を恐れず大雑把に説明するとそんな感じになります。 cellpaddingを使う代わりに同じ効果ならcellpaddingを記載した場所に「style="padding:10px;"」と入れてください。インラインといいます。このタグを閉じる場所まで有効です。 もし、そのページ全体の表に入れたいなら、ヘッダ部分(<head></head>の間)に「<style>td{padding:10px;}</style>」と入れてください。tdの当てはまる場所すべてに効きます。サイト全体に聞かせたいなら外部にします。cssでは単位は0以外省略できません。 つまり外部に原則を記述、インラインに1回だけの例外のものを記述ってやり方もできるので、状況に応じて使い分けされるといいです。

その他の回答 (1)

  • 64bit
  • ベストアンサー率51% (45/88)
回答No.1

marginとpaddingのデフォルト値がブラウザによって違うので、それを統一するための記述です。 *はCSSで最も優先度の低いセレクタなので、他の箇所でmargin, paddingを指定すれば容易に打ち消せます。 td { padding:10px; } 等やってみれば、分かると思います。

関連するQ&A