HTMLで表を作る
今回は、ホームページ作成で使用するHTMLタグで表を作成する方法について説明します。
表を作成するHTMLタグは、上手に使いこなすことができれば見栄えがよくなるので、今日のようにスタイルシートが浸透する前までは、ホームページ全体の体裁を整えるタグとしても使用されていました。
表を作成するHTMLタグとは言っても、表のラインを消してしまえば、表だとはわかりませんからね。
今ではページ全体の体裁を整えることはなくなりましたが、Perl/CGIなどでの情報入力フォームを整えるのにラインなしの表を使ったりする場合はあります。
- 表作成の基本
- 表の枠線
- 表のセルとセルの間隔
- 表のセルの内側の余白
- 表の説明タグ
- 表の大きさ
- 外枠の指定
- 内枠の指定タグ
- セル内の表示位置指定
- セルの大きさ指定
- セルの結合
- セル内で改行させない
- セルの見出し
表作成の基本
HTMLで表を作成するには、tableタグ、trタグ、tdタグを使用します。
表の表示方法を細かく指定する場合は、もっとたくさんのHTMLタグを使用しますが、まずは、表を作成する上での基本的なHTMLタグは、上記三種類のタグです。
それでは、横二列で縦二行の表を作成するには以下のように書きます。
<table><tr>
<td>表の左上</td>
<td>表の右上</td>
</tr>
<tr>
<td>表の左下</td>
<td>表の右下</td>
</tr>
</table>
tableタグ「<table>」「</table>」は、表全体を指定するHTMLタグです。
trタグ「<tr>」「</tr>」は、行を指定するHTMLタグです。
tableタグに囲まれた部分で使用します。
tdタグ「<td>」「</td>」は、セルを指定するHTMLタグです。
trタグに囲まれた部分で使用します。
セルとは、表を作り上げている一つ一つの要素のことです。
trタグを増やせば表の行数が増えます(結果として、表が縦に長くなる)。
tdタグを増やせば列の長さが増えます(結果として、表が横に長くなる)。
このあたりが表作成の1つのポイントですので、覚えておくとよいですよ。
例えば、縦二行で横三列の表を作成する場合は、以下のように書きます。
<table><tr>
<td>表の左上</td>
<td>表の上中央</td>
<td>表の右上</td>
</tr>
<tr>
<td>表の左下</td>
<td>表の下中央</td>
<td>表の右下</td>
</tr>
</table>
以上のHTMLタグを組み合わせれば、基本的な表ができます。
表の枠線
borderタグを使用すれば、表の枠線の太さを指定することができます。
もちろん、表の線を消すこともできます。
<table border="5"><tr>
<td>表の左上</td>
<td>表の右上</td>
</tr>
<tr>
<td>表の左下</td>
<td>表の右下</td>
</tr>
</table>
「border="0"」とすれば、表の枠線を消すことができます。
<戻る>
表のセルとセルの間隔
cellspacingタグを使用すると、セルとセルの間隔をピクセル数で指定することができます。
セルの間隔を調節することで、表内の枠線を太く見せたり、細く見せたりすることができます。
<table border="5" cellspacing="5"><tr>
<td>表の左上</td>
<td>表の右上</td>
</tr>
<tr>
<td>表の左下</td>
<td>表の右下</td>
</tr>
</table>
表内の枠線を表示させるには、borderタグを使って、線の太さを指定しておく必要があります。
<戻る>
表のセルの内側の余白
cellpaddingタグを使用すると、セル内のパディング(内側の余白)を指定することができます。
<table border="5" cellspacing="5" cellpadding="5"><tr>
<td>表の左上</td>
<td>表の右上</td>
</tr>
<tr>
<td>表の左下</td>
<td>表の右下</td>
</tr>
</table>
パッと見た感じはわかりにくいですが、デザインにこだわる人は、いろいろといじってみてくださいね。
<戻る>
表の説明タグ
summaryタグを追加すると、主に視覚障害者が使用しているウェブブラウザ(音声ブラウザ等)に対して、その表の簡単な説明(構造や概要)を伝えることができます。
音声ブラウザは、ウェブサイト上の文字情報を、音声に変換し出力しているので、複雑な表など視覚的には一目でわかるようなものでも、音声だけではその表の構造がわからず、結果として作者が意図する情報が伝わらない場合があります。
そんな場合には、表の構造や概要などを、summaryタグを使用して説明します。
<table summary="ここに説明"><tr>
<td>表の左上</td>
<td>表の右上</td>
</tr>
<tr>
<td>表の左下</td>
<td>表の右下</td>
</tr>
</table>
この表説明のタグを使っているウェブサイトは、なかなか見ないですね。
私も使ってないです(笑)。
表の大きさ
widthタグを使用すると、表の大きさ(横幅)を指定することができます。
<table width="300"><tr>
<td>表の左上</td>
<td>表の右上</td>
</tr>
<tr>
<td>表の左下</td>
<td>表の右下</td>
</tr>
</table>
widthタグが横幅を指定するのに対し、heightタグを使用すると、高さを指定することができますが…。
heightタグ(表の高さ)は、HTML4.01の仕様にはありません。
おそらく正式には認められていないんでしょうね~。
サイズの指定がない場合は、表の内容により自動的に調整されます。
<戻る>
外枠の指定
frameタグを使用すると、外枠の表示スタイルを指定することができます。
表示スタイルにもいろいろなパターンがあります。
void … 全ての外枠を表示しない。
lhs … 左の外枠のみ表示。
rhs … 右の外枠のみ表示。
vsides … 左右の外枠のみ表示。
above … 上の外枠のみ表示。
below … 下の外枠のみ表示。
hsides … 上下の外枠のみ表示。
box … 全ての外枠を表示。
border … 全ての外枠を表示。
void(全ての外枠を表示しない)を指定して表を作成した場合は以下のようになります。
<table border="5" frame="void"><tr>
<td>表の左上</td>
<td>表の右上</td>
</tr>
<tr>
<td>表の左下</td>
<td>表の右下</td>
</tr>
</table>
このあたりは、ほとんど使うことはないので、なんとなく覚えておくぐらいでもよいですね。
<戻る>
内枠の指定タグ
rulesタグを使用すると、内枠の表示スタイルを指定することができます。
表示スタイルにもいろいろなパターンがあります。
none … 全ての内枠を表示しない。
rows … 内枠の横線のみ表示。
cols … 内枠の縦線のみ表示。
groups … グループの境界線のみ表示。
all … 全ての内枠を表示。
none(全ての内枠を表示しない)を指定して表を作成した場合は以下のようになります。
<table border="5" rules="none"><tr>
<td>表の左上</td>
<td>表の右上</td>
</tr>
<tr>
<td>表の左下</td>
<td>表の右下</td>
</tr>
</table>
このあたりも、なかなか使用する機会自体がない部分ですね。
でも、こんなのがあったぐらいは、覚えておくとよいですね。
<戻る>
セル内の表示位置指定
trタグやtdタグに、alignタグや、valignタグを指定すると、セル内の文字の位置を指定できます。
alignタグは横方向、valignタグは縦方向の指定を行います。
それぞれのタグで、設定方法が異なりますので、一つ一つ説明していきます。
まずは、alignタグについて説明します。
left … 左に表示
center … 中央に表示
right … 右に表示
続いて、valignタグについて説明します。
top … 上部に表示
middle … 中央に表示
bottom … 下部に表示
後述しますが、thタグにもこの指定が行えます。
tdタグ(thタグ)ではセル単位、trタグでは行単位の指定になります。
trタグで指定を行うと、「<tr>」から「</tr>」で囲まれているtdタグを同じ設定で統一することができます。
まずは、tdタグ内のテキストを、中央表示させる設定で表を作成するには以下のように書きます。
<table><tr>
<td align="center" valign="middle">左上のセル</td>
<td align="center" valign="middle">右上のセル</td>
</tr>
<tr>
<td align="center" valign="middle">左下のセル</td>
<td align="center" valign="middle">右下のセル</td>
</tr>
</table>
上記の表でもよいのですが、表のセルをすべて同じ設定で表示させたい場合は、trタグ内で指定した方が見た目がスッキリします。
逆に言えば、セル内のテキスト表示位置を細かく指定したい場合は、tdタグ内で指定すればよいということになります。
同じ表ですが、今度は、trタグ内で指定した場合も書いておきます。
<table><tr align="center" valign="middle">
<td>左上のセル</td>
<td>右上のセル</td>
</tr>
<tr align="center" valign="middle">
<td>左下のセル</td>
<td>右下のセル</td>
</tr>
</table>
こっちの方がすっきりしますね。
セルの大きさ指定
tdタグに、widthタグや、heightタグを指定すると、セルのサイズを指定することができます。
widthタグは、横のサイズをピクセル数かパーセントで指定します。
heightタグは、縦のサイズをピクセル数かパーセントで指定します。
例えば、横幅150ピクセルで、高さ100ピクセルの大きさで、セルの大きさを指定する場合は以下のように記述します。
<table><tr>
<td width="150" height="100">左上のセル</td>
<td width="150" height="100">右上のセル</td>
</tr>
<tr>
<td width="150" height="100">左下のセル</td>
<td width="150" height="100">右下のセル</td>
</tr>
</table>
サイズの指定がない場合は、セルの内に表示させるテキストによって、自動的に調整されます。
後述しますが、thタグにもこの指定が行えます。
この属性は、HTML4.01では非推奨とされています。
<戻る>
セルの結合
tdタグに、colspanタグや、rowspanタグを設定すると、セルを結合することができます。
colspanタグは、横方向で結合するセルの数を指定します。
rowspanタグは、縦方向で結合するセルの数を指定します。
例えば、colspanタグで、横方向の結合を指定する場合は、以下のように書きます。
<table><tr>
<td colspan="2">横二つのセルを結合</td>
</tr>
<tr>
<td>左下のセル</td>
<td>右下のセル</td>
</tr>
</table>
次に、rowspanタグで、縦方向の結合を指定する場合は、以下のように書きます。
<table><tr>
<td rowspan="2">縦二つのセルを結合</td>
<td>右上のセル</td>
</tr>
<tr>
<td>右下のセル</td>
</tr>
</table>
後述しますが、thタグにもこの指定が行えます。
<戻る>
セル内で改行させない
tdタグに、nowrapタグを指定すると、セル内の自動改行を禁止することができます。
例えば、以下のように記述します。
<table><tr>
<td nowrap>左上のセル</td>
<td nowrap>右上のセル</td>
</tr>
<tr>
<td nowrap>左下のセル</td>
<td nowrap>右下のセル</td>
</tr>
</table>
しかし、nowrapタグを指定している場合でも、改行タグである「<br>」を使用した場合は、改行されてしまいます。
さらに、この属性は、HTML4.01では非推奨とされています。
後述しますが、thタグにもこの指定が行えます。
<戻る>
セルの見出し
tdタグの代わりに、thタグを使用すると、見出しのセルを作成することができます。
thタグに囲まれた文字は太字になり、セルの中央に表示されます。
細かい設定方法は、前述したtdタグを参照してください。
<戻る>