- 締切済み
cellspacingがある理由とは。
どうしてもcellspacingがある理由がわかりません。 「セル間の余白を指定します。」と説明がありますが・・・・。 試しに、cellspacingが有るのと、無いので比較したのですが それならば、「table border=""」で間隔を、広げたり、狭めたりすればよいのでは と思ったりするんですが・・・。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ORUKA1951
- ベストアンサー率45% (5062/11036)
cellspacingは、コマとコマの間隔を指定します。 borderは、コマ周囲の枠線(border)の太さを指定します。 cellpaddingは、枠線と内容の余白を指定します。 詳しくは 11.3.3 コマのマージン ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.3.3 ) などを参照。 なお、現在はtableのこれらの属性は指定せず、スタイルシートで指定することが主流です。スタイルシートを使うと、table全体の枠線の形と色、コマ間の上下左右の隙間、枠線の掲示用と色、内容との隙間が、上下左右別々に巾や色が指定できます。 そのため、HTMLでは単純に <table border="1" summary="何たらの表"> <caption>表のタイトル</caption> <thead><!-- 省略可 --> <tr> <th abbr="列1">列1</th> <th abbr="列1">列1</th> <th abbr="列1">列1</th> </tr> <thead> <tfoot><!-- 省略可 --> <tr> <th abbr="列1">列1</th> <th abbr="列1">列1</th> <th abbr="列1">列1</th> </tr> </tfoot> <tbody> <tr> <td rowspan="2">データ1</td> <th colspan="2">データ2</td> </tr> <tr> <td>データ3</td> <td>データ4</td> </tr> </tbody> </table> 程度覚えておけば良いでしょう。 なお、tableはあくまで表ですので、デザイン・配置のために使用するのは誤りです。 「単に文書内容を整形する目的だけで表を用いるべきでない。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.1 )」 「ページレイアウトの目的で表を用いる。・・・【中略】・・・こうしたテクニックによって、・・・【中略】・・・限られた環境にしか適応しなくなり、・・・【中略】・・・障害を持つ人々にアクセス障壁が設けられてしまう。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/present/styles.html#h-14.1 )」 など。
borderは枠線。 cellspacingは間隔。 まるで意味が違うしborderをどうしようがcellspacingの代わりにはならないのだから『それならば、「table border=""」で間隔を、広げたり、狭めたりすればよいのでは』なんて発想は全くもって訳が分かりません。 ついでに言うと、HTMLのタグと属性は本来そこにあるものの「意味」を示すものなのだから、仮にその「borderで余白」がもしできたとしてもそれはいけないこと。