パソコンQ&A

テーブルのキホン(2)

テーブルに横幅50ピクセルのセルを4つ横に並べて作ったとします。
このときの全体の横幅はいくつになるでしょう?
50ピクセル×4つ=200ピクセル

では実際にテーブルを作ってみましょう。
分かりやすくテーブルに1ピクセルのボーダー(ふち線)を付けるので
結果は1+200+1=202ピクセルになるはずですよね。
[ソース]

50px 50px 50px 50px
202ピクセル

あれ?202ピクセルより明らかにテーブル幅は大きいですね。
なんででしょう?
テーブルで、どこがおかしいか分からなかったら
(1) border="1"を付けてみる
(2) 背景色を付けてみる
(3) 単純化する
(4) 余計なところに全角空白がないかチェック
という解決策のいずれかをとりますが、この場合(2)の方法でやってみます。
[ソース]

50px 50px 50px 50px
202ピクセル

セルとセルの隙間がありますね。
何も指定をしなかった場合、セルには隙間が開くことがあるのです。
この『セル同士の間隔を指定する』のがcellspacing属性です。
ではこのcellspacing="0"としてみましょう。
セル[cell]のスペース・空間[space]だからcellspacingです。
[ソース]

50px 50px 50px 50px
202ピクセル

あれれ?まだ幅が違いますね。
今度はセルの中身を『文字』ではなくて『幅50ピクセルの画像』にしてみましょう。
[ソース]

202ピクセル

おや?背景のある領域がちょこっとありますね。
セルのふちから内容までの間にパディング[padding]もあったんです。
文字などがふちにピッタリくっついてたら文章が読みにくいのでふちまでに隙間を空けるのがpaddingです。
この『セルのふちから内容までの距離を指定する』のがcellpadding属性です。

cellpadding="0"を指定しましょう。
[ソース]

202ピクセル

そうすると計算は合いますよね。

△上に戻る


ソース

50pxのセルを4つ横に並べる

<table style="border:1px solid #000">
  <tr>
    <td width="50">50px</td>
    <td width="50">50px</td>
    <td width="50">50px</td>
    <td width="50">50px</td>
  </tr>
</table>

△上に戻る

背景を付けてみた

<table style="border:1px solid #000">
  <tr>
    <td width="50" bgcolor="#999999">50px</td>
    <td width="50" bgcolor="#999999">50px</td>
    <td width="50" bgcolor="#999999">50px</td>
    <td width="50" bgcolor="#999999">50px</td>
  </tr>
</table>

△上に戻る

cellspacing="0"を付けてみた

<table cellspacing="0" style="border:1px solid #000">
  <tr>
    <td width="50" bgcolor="#999999">50px</td>
    <td width="50" bgcolor="#999999">50px</td>
    <td width="50" bgcolor="#999999">50px</td>
    <td width="50" bgcolor="#999999">50px</td>
  </tr>
</table>

△上に戻る

幅50pxの画像にしてみた

<table cellspacing="0" style="border:1px solid #000">
  <tr>
    <td width="50" bgcolor="#999999"> <img src="img/px_black.gif" width="50" height="15" /></td>
    <td width="50" bgcolor="#999999"> <img src="img/px_black.gif" width="50" height="15" /></td>
    <td width="50" bgcolor="#999999"> <img src="img/px_black.gif" width="50" height="15" /></td>
    <td width="50" bgcolor="#999999"> <img src="img/px_black.gif" width="50" height="15" /></td>
  </tr>
</table>

△上に戻る

cellspacing="0" cellpadding="0"を付けてみた

<table cellspacing="0" cellpadding="0" style="border:1px solid #000">
  <tr>
    <td width="50" bgcolor="#999999"><img src="img/px_black.gif" width="50" height="15" /></td>
    <td width="50" bgcolor="#999999"><img src="img/px_black.gif" width="50" height="15" /></td>
    <td width="50" bgcolor="#999999"><img src="img/px_black.gif" width="50" height="15" /></td>
    <td width="50" bgcolor="#999999"><img src="img/px_black.gif" width="50" height="15" /></td>
  </tr>
</table>

△上に戻る

このページはリンクフリーです。設定などは自己責任で…
Copy Right kikky

kikky.net