テーブル

<TABLE>はテーブル(表)を作成するためのタグです。テーブル(表)のもっとも基本的な構造は、<TABLE>~<TABLE>内に<TR>~</TR>で表の横一行を定義して、さらにその中に<TH>~</TH>や <TD>~</TD>でセルを定義します。

テーブル(表)の各セルには見出しを定義するヘッダセル(<TH>~</TH>)と、 データを定義するデータセル(<TD>~<TD>)があります。ヘッダセル内のテキストは、一般的なブラウザでは太字でセンタリングされて表示されます。

<TABLE>タグをレイアウト目的で使用するケースがありますが、<TABLE>タグは本来はテーブル(表)を作成するためのタグです。レイアウト目的には、できるだけスタイルシートを使用するようにしてください。

テーブル 索引


もっとも基本的なテーブル

テーブル(表)を作成するには <table> を使います。<table>~</table> がひとつのテーブル、<caption>~</caption> が表題、<tr>~</tr> が1行、<th>~</th> がヘッダのマス(カラム)、<td>~</td> がデータのマス(カラム)に対応します。border=1 は枠線の太さを示します。

<table border="1">
	<caption>【県庁所在地】</caption>
	<tr><th>県名</th><th>所在地</th></tr>
	<tr><td>北海道</td><td>札幌</td></tr>
	<tr><td>大阪府</td><td>大阪</td></tr>
	<tr><td>沖縄県</td><td>那覇</td></tr>
</table>
※ ↑ 左に行数が表示されていますが、コードブロックをダブルクリックすると行数以外のコードがすべて選択されます。Ctrl+Cなどでコピー可能です。
【県庁所在地】
県名所在地
北海道札幌
大阪府大阪
沖縄県那覇


テーブルの文字を改行しないようにするには

テーブルの中身を改行しないようにするには、<tr>、<th>、<td> などのタグに nowrap 属性を指定します。

<table border="1">
	<tr><th nowrap="nowrap">あああ</th><th>いいい</th><th>ううう</th></tr>
	<tr><td nowrap="nowrap">か</td><td>き</td><td>柿柿柿柿柿柿柿柿</td></tr>
</table>
あああいいいううう
柿柿柿柿柿柿柿柿


テーブル内のフォントを一括設定するには

<table>~</table> を、<font>~</font> で囲むことはできません。テーブル内のフォントの大きさや色を一括設定するには、スタイルシート を使うと便利です。下記の記述を <head>~</head> の間に追記してみてください。

<style type="text/css">
<!--
td, th {
  color: red;
  font-size: 200%;
  font-family: "MS ゴシック";
}
-->
</style>
 
もしくは、下記のように、各 <th> <td> に直接、記述します。
 
<table border="1">
	<tr>
		<th style="color: red; font-size: 200%; font-family:MS ゴシック">コード</th>
		<th style="color: red; font-size: 200%; font-family:MS ゴシック">商品名</th>
		<th style="color: red; font-size: 200%; font-family:MS ゴシック">フリガナ</th>
	</tr>
	<tr>
		<td style="color: red; font-size: 200%; font-family:MS ゴシック">A0012</td>
		<td style="color: red; font-size: 200%; font-family:MS ゴシック">計算機</td>
		<td style="color: red; font-size: 200%; font-family:MS ゴシック">ケイサンキ</td>
	</tr>
</table>

コード商品名フリガナ
A0012計算機ケイサンキ


カラム(セル)を連結(結合)するには

カラムを横や縦に連結するには <td> や <th> に属性を指定します。n には連結するカラムの数を指定します。

<table border="1">
	<tr><td colspan="2">横連結</td>                    </tr>
	<tr><td rowspan="2">縦連結</td><td>OO</td></tr>
	<tr>                                         <td>△△</td></tr>
</table>
横連結
縦連結OO
△△


空欄の見栄えをよくするには

テーブルの中に <td></td> のような空欄があると、その部分が凹んでくれずに見栄えが悪くなることがあります。この時は、<td><br></td> のように <br> を入れてやると、凹んで表示されるようです。

<table border="1">
 <tr><td><br /></td><td>OO</td></tr>
 <tr><td>OO</td><td>OO</td></tr>
</table>
OO
OOOO

OO
OOOO


テーブルの幅や高さを指定するには

テーブルに背景色や背景画像を指定するには、<table>、<tr>、<th>、<td> の width 属性や height 属性を指定します。または、スタイルシートの width や height を用います。ただし、HTML4.01 の仕様では、<table> タグに height 属性は指定できないので注意してください。

<table border="1" style="width: 200px; height: 80px;">
	<tr><td>日  本</td><td>12,345,678</td></tr>
	<tr><td>アメリカ</td><td>987,654</td></tr>
</table>
日  本12,345,678
アメリカ987,654
日  本12,345,678
アメリカ987,654


カラムの内容を右寄せ、左寄せするには

<tr>、<th>、<td> に align 属性を指定することで、カラムの内容を右寄せ、中央配置、左寄せに、することができます。

<table border="1">
	<tr><td align="center">日本</td><td align="right">12,345,678</td></tr>
	<tr><td align="center">アメリカ</td><td align="right">987,654</td></tr>
</table>
日本12,345,678
アメリカ987,654
日本12,345,678
アメリカ987,654


カラムの内容を上寄せ、下寄せするには

<tr>、<th>、<td> に valign 属性を指定することで、カラムの内容を上に寄せたり、下に寄せに、することができます。
<table border="1" style="height: 45px;">
	<tr>
		<td valign="top">上寄せサンプル</td><td valign="bottom">下寄せサンプル</td>
	</tr>
</table>
上寄せサンプル下寄せサンプル


テーブルの背景色を指定するには

テーブルに背景色を指定するには、<table>、<tr>、<th>、<td> の bgcolor 属性を指定します。スタイルシートの場合は background-color を使います。

<table border="1" bgcolor="#ffcccc">
	<tr><th>背景色</th><th>変わってます?</th></tr>
	<tr><td>変わってる</td><td>桃色?</td></tr>
	<tr><td>ピンク?</td><td>変わってるよネ!</td></tr>
</table>
背景色変わってます?
変わってる桃色?
ピンク?変わってるよネ!


テーブルの背景画像を指定するには

テーブルに背景色や背景画像を指定するには、<table>、<tr>、<th>、<td> の background 属性を指定します。スタイルシートの場合は background-image を使います。

<table border="1" background="img/xxx.gif">
    <tr><th>背景画像</th><th>変わってます?</th></tr>
    <tr><td>変わってる</td><td>若葉?</td></tr>
    <tr><td>新芽?</td><td>変わってるよネ</td></tr>
</table>
<table border="1" style="background-image: url(img/xxx.gif);">
	<tr><th>背景画像</th><th>変わってます?</th></tr>
	<tr><td>変わってる</td><td>若葉?</td></tr>
	<tr><td>新芽?</td><td>変わってるよネ</td></tr>
</table>

背景画像変わってます?
変わってる若葉?
新芽?変わってるよネ


テーブルを横に二つ並べるには

テーブルを横に二つ並べるには、外側にもうひとつ大きなテーブル(枠線無し)を設けます。

<table>
	<tr>
		<td>
			<table border="1">
				<tr><td>ID</td><td>テーブル名</td></tr>
				<tr><td>T-001</td><td>テーブル1</td></tr>
			</table>
		</td>
		<td>
			<table border="1">
				<tr><td>ID</td><td>テーブル名</td></tr>
				<tr><td>T-002</td><td>テーブル2</td></tr>
			</table>
		</td>
	</tr>
</table>
IDテーブル名
T-001テーブル1
IDテーブル名
T-002テーブル2


テーブルの枠線の色を変えるには

テーブルの枠線の色を変えるには、<table> タグに bordercolor などの属性を指定します。Internet Explorer では、bordercolordark(立体的な枠線の暗い部分)、bordercolorlight(立体的な枠線の明るい部分)の指定も可能です。

<table border="1" bordercolor="#b0c4de" bordercolordark="#708090">
    <tr>
        <th>商品名</th><th>定価</th>
    </tr>
    <tr>
        <td>たこ焼きソース味 8個入</td><td>500円</td>
    </tr>
    <tr>
        <td>イカ焼き 卵入り</td><td>300円</td>
    </tr>
</table>
商品名定価
たこ焼きソース味 8個入500円
イカ焼き 卵入り300円


テーブルの枠線をシンプルにするには

テーブルの枠線をシンプルにするには、<table> タグに cellspacing=0 属性を指定します。

<table border="1" cellspacing="0">
    <tr>
        <th>商品名</th><th>定価</th>
    </tr>
    <tr>
        <td>たこ焼きソース味 8個入</td><td>500円</td>
    </tr>
    <tr>
        <td>イカ焼き 卵入り</td><td>300円</td>
    </tr>
</table>
商品名定価
たこ焼きソース味 8個入500円
イカ焼き 卵入り300円


テーブルの枠線をもっと細くするには

テーブルを二重にして背景色を制御することで、細い枠線を書くことができます。Intenet Explorer と Netscape Navigator の両方の見栄えを整えるには、border=0 などの属性を省略しないでください。

<table border="0" bgcolor="#808080" cellspacing="0" cellpadding="0">
    <tr>
        <td>
            <table border="0" cellspacing="1" cellpadding="2">
            	<tr bgcolor="#ffffff"><th>商品名</th><th>定価</th></tr>
            	<tr bgcolor="#ffffff"><td>たこ焼き 8個入</td><td>500円</td></tr>
            	<tr bgcolor="#ffffff"><td>イカ焼き 卵入り</td><td>300円</td></tr>
            </table>
        </td>
    </tr>
</table>
商品名定価
たこ焼き 8個入500円
イカ焼き 卵入り300円


テーブルの枠線を点線にするには

テーブルの枠線を点線にするには、border="1" ではなく、スタイルシートで点線の枠線を引きます。

<table cellspacing="0" style="border-bottom: 1px dotted gray; border-left: 1px dotted gray;">
    <tr>
        <th style="border-top: 1px dotted gray; border-right: 1px dotted gray;">商品名</th>
        <th style="border-top: 1px dotted gray; border-right: 1px dotted gray;">定価</th>
    </tr>
    <tr>
        <td style="border-top: 1px dotted gray; border-right: 1px dotted gray;">たこ焼き 8個入</td>
        <td style="border-top: 1px dotted gray; border-right: 1px dotted gray;">500円</td>
    </tr>
    <tr>
        <td style="border-top: 1px dotted gray; border-right: 1px dotted gray;">イカ焼き 卵入り</td>
        <td style="border-top: 1px dotted gray; border-right: 1px dotted gray;">300円</td>
    </tr>
</table>
商品名 定価
たこ焼き 8個入 500円
イカ焼き 卵入り 300円