- ベストアンサー
【HTML&CSS】テーブルを正しく作成する方法
- Webページでテーブルを作成する際の正しい手順についてまとめました。
- HTMLの<table>に対するborder属性、width属性、cellspacing属性、cellpadding属性の使用方法について疑問があるようです。
- テーブルの作成方法には複数の手法がありますが、CSSを使ってボーダーや余白を指定する方法が一般的です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> 実際にwidth border cellpadding cellspacingの属性がいまだに非推奨になっていないようですし、ちょっと不安です。 borderやwidthは必要、または有る方が良いと思います。 レイアウトテーブルではなく、本来のテーブルの使い方、たとえば点数表などを、 スタイルシートを使わずに、borderなしで書いてみてください。 cellpaddingとcellspacingも必要だと判断されたからでしょう。 > ☆ HTMLの<table>に対するborder属性、width属性、cellspacing属性、cellpadding属性は使用するべきなのか? スタイルシート未対応ブラウザ、または未使用設定で見る時(があるのかどうか知りませんが)を考えれば、必要だと思います。 > tableに上と左のボーダー、tdに右と下のボーダーと指定すること自体にはどのような意味があるのでしょうか? テーブルの一番外の線だけ別の色やスタイルにしているとか、そういうことはないでしょうか? *{margin:0;padding:0} table{ border:1px solid blue; border-collapse:collapse; border-spacing:0; } td{ border: 1px solid red; } <table> <tbody> <tr><td>1-1</td><td>1-2</td></tr> <tr><td>2-1</td><td>2-2</td></tr> </tbody> </table> たぶん、<table>のborderの上に<td>のborderが重なってしまうと思います。 とはいえ、おなじデザインでも、書き方は作り手によって様々な方法があるので、 自分が作りやすい作り方をすればいいと思います。 table{ border:1px solid blue; } td{ border-top:1px solid red; border-left:1px solid red; } tr:first-child td{ border-top:0 none; } td:first-child{ border-left:0 none; } だったかな?(^^; こういう方法もあります。(:first-child対応ブラウザのみ)
お礼
ありがとうございます。 上記のコードでは、IE6だと外枠が青、FF2だと外枠が赤になりました。 このあたりもブラウザの解釈の問題なんでしょうか。 いつもその辺に悩まされます。 >スタイルシート未対応ブラウザ、または未使用設定で見る時(があるのかどうか知りませんが)を考えれば、必要だと思います。 なるほど、そうですよね。 どうもCSSを勉強していると、HTMLでの装飾が悪いことみたいに思えてくる変な錯覚に陥ります。 かなりすっきりしました。 ありがとうございました。