テーブル余白とセル間隔の落とし穴 | デザインってオモシロイ -MdN Design Interactive-
【サイトリニューアル!】新サイトはこちらMdNについて


Webデザインには、あなたの知らない「落とし穴」がたくさん。大きなものから小さなものまで、それが及ぼす影響はさまざまだ。カンペキだと思っているあなたのサイトも、実はすでに暗い穴の中かも・・・。




テーブル余白とセル間隔の落とし穴


 レイアウトを組むうえでもはや欠くことのできない<table>タグ。見せ方の要素として、セルの余白となる「cellpadding」や、セル同士の間隔となる「cellspacing」を使いこなせばより表現の幅は広がる。しかし使い方を誤るとタグと実際の見た目とに微妙な整合性の違いがで出てきてしまうのだ。

 たとえば完成の見てくれが、幅500ピクセルで1ピクセルの黒い枠のテーブルをつくろうとする。つくり方としては、まず幅500ピクセルの背景色を黒く塗ったテーブルをつくる。その中にさらに背景色白のテーブルを入れるのだが、「cellspacing」を使う場合、まず幅500ピクセル、「cellspacing」を1ピクセルとしたテーブルを入れ子にし、その<td>内の背景を白にすることで完成する。

一方、「cellpadding」を使う場合はというと、大本の幅500ピクセルのテーブルに対してセル内余白1ピクセルを設定。そして入れ子のテーブルは幅498ピクセル、背景色白のテーブルを入れなければならない【1】。これがもし、中に入れるテーブルも幅500ピクセルと設定してしまったら、入れ子の500ピクセル幅に外側の余白が取り付く形となるので、502ピクセルの枠ができてしまう。レイアウトが崩れることにもなるので、気をつけよう。


<!--cellspacingを使用した例-->
<table width="500" border="0" cellpadding="0" cellspacing="0" bgcolor="#000000">
<tr>
<td><table width="500" border="0" cellspacing="1" cellpadding="0">
<tr>
<td bgcolor="#FFFFFF"></td>
</tr>
</table></td>
</tr>
</table>
<!--cellpaddingを使用した例-->
<table width="500" border="0" cellpadding="1" cellspacing="0" bgcolor="#000000">
<tr>
<td><table width="498" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#FFFFFF"></td>
</tr>
</table></td>
</tr>
</table>
【1】入れ子テーブルのサンプル。前者の方法が数値的な把握は容易かもしれない

解説:横山 剛

(※本文中、及びキャプション内で使用している「<」、「>」は、全角になります。ご注意ください。)





twitter facebook このエントリーをはてなブックマークに追加 RSS
【サイトリニューアル!】新サイトはこちらMdNについて

この連載のすべての記事

アクセスランキング

8.30-9.5

MdN BOOKS|デザインの本

Pick upコンテンツ

現在