Webページとして表形式でデータを表示するにはtable要素を使います。全体をでtable要素マークアップを行い、そのコンテンツとして、行tr要素、見出しセルth要素、セルtd要素等様々な要素を記述します。HTML5では枠線を表示するためのborder属性は廃止されたので、枠線はcssで指定します。3行3列の表の例(1行目 見出しセル)
<table> <tr> <th>見出しセルの内容</th> <th>見出しセルの内容</th> <th>見出しセルの内容</th> </tr> <tr> <td>セルの内容</td> <td>セルの内容</td> <td>セルの内容</td> </tr> <tr> <td>セルの内容</td> <td>セルの内容</td> <td>セルの内容</td> </tr> </table>
CSS部分
<style type="text/css"> table,tr,td,th{ border: 1px black solid; } </style>
下記により4行3列の表を作り、ファイル名「table.html」として「text」フォルダーに保存します。
大見出し:テーブルサンプル
1行目セル内容:部署名 計画 売上 (見出しセルとしてthタグで括ります)
2行目セル内容:本社 1,400 1,300
3行目セル内容:大阪支社 750 920
4行目セル内容:合計 2,150 2,220(1列目セルは見出しセルとしてthタグで括ります)
テーブルの幅は自動的に決まりますが、テーブルの幅を指定したサイズに設定する場合はスタイルシートででピクセル又は親要素に対するパーセンテージで指定します。
<table style="width:幅;">
「table.html」をコピーし、表部分を4個コピペして、テーブルの幅を200px、300px、50%及び100%に設定してファイル名「table_size.html」として「text」フォルダーに保存します。
セルの幅は自動的に決まりますが、セルの幅を指定したサイズに設定する場合はスタイルシートでピクセルで指定します。セルの幅は親要素であるtr要素(行)の幅に対するパーセンテージで指定することもできます。
<td style="width:幅;>
「table.html」をコピーし、次により編集しファイル名「table_cellsize.html」として「text」フォルダーに保存します。
同じ行に含まれ横方向に続いているいるセルを連結するにはtd要素またはth要素のcolspan属性を使います。
<td colspan="結合するセル数">セル</td>
同じ列に含まれ縦方向に続いているいるセルを連結するにはtd要素またはth要素のrowspan属性を使います。
<td rowspan="結合するセル数">セル</td>
下記により新しいファイルを作成し、ファイル名「table_cellspan.html」として「text」フォルダーに保存します。
colgroup要素を使って列をグループ化し、スタイルシートで横幅や背景色などの指定を行います。但し、表示位置に関する text-align や vertical-align を指定しても効きません。またspan属性の値にグループ化する列数を指定します。
colgroup要素はthead要素よりも前でcaption要素よりも後に記述します。colgroup要素では何列目からという指定がありませんので、先頭の列から順にcolgroup要素を使ってグループ化を行っていく必要があります。
<colgroup span="列数"></colgroup> <colgroup span="列数"></colgroup>
下記により新しいファイルを作成し、ファイル名「table_colgroup.html」として「text」フォルダーに保存します。
列修飾の明細
列 | グループ化 1 | グループ化 2 |
---|---|---|
1 | セル幅 80px | 背景色 #e0ffff |
2 | セル幅 100px | セル幅 80px |
3 | セル幅 100px | セル幅 80px |
4 | セル幅 60px | 背景色 #ffebcd |
前項colgroup要素でグループ化した列に対して同じ属性やスタイルをまとめて指定するためにcol要素が使用できます。col要素は、colgroup要素の中に配置します。colgroup要素にspan属性を持っている場合はcol要素を配置することができません。col要素は、colgroup要素と同様にspan属性を設定できます。また終了タグは必要ありません。
<colgroup> <col span="列数"> <col span="列数"> </colgroup>
下記をファイル名「table_col.html」として「text」フォルダーに保存します。
3行4列の表を作りcolgroup要素とcol要素を使って下のとおり列を修飾します。
2列目:セル幅100px、背景色#e0ffff
3列目:セル幅100px、背景色#f0e68c
2列目:セル幅100px、背景色#e0ffff
セルの中でデータの位置は、スタイルシートで横方向の位置(左揃えや右揃えなど)と縦方向の位置(上寄せや下寄せなど)が設定できます。また設定が可能な要素としてはtd要素、th要素、tr要素、thead要素、tfoot要素、tbody要素、colgroup要素、col要素があります。
td要素の場合(他の要素の場合も同じ)
<td style="text-align:横位置;vertical-align:縦位置">
下記をファイル名「table_cellposition.html」として「text」フォルダーに保存します。
4行3列の表を作り、td要素、td要素とtr要素の組み合わせでセル内のデータ表示位置を指定します。
td要素で指定
1列 | 2列 | 3列 | |
---|---|---|---|
2行 | vertical-align: top; | 指定無し | vertical-align: bottom; |
3行 | text-align: center; vertical-align: top; |
text-align: center; | text-align: center; vertical-align: bottom; |
4行 | text-align: right; vertical-align: top; |
text-align: right; | text-align: right; vertical-align: bottom; |
テーブルに見出しを付ける場合はcaption要素を使います。caption要素を記述する場合はtableタグのすぐ次に記述してます。 見出しはデフォルトではテーブルの上に表示されますが、表示位置を変更する場合はスタイルシートのcaption-sideプロパティで指定します。(HTML5ではcaption要素のalign属性廃止されました。 )
HTML
<table> <caption>見出し</caption> ... </table>
CSS
caption-side:top; (キャプションを表の上に表示 省略すると一般的なブラウザでは、表の上部に表示されます) caption-side:bottom; (キャプションを表の下に表示)
テーブルが何について書かれたものであるのかを説明したテーブルの概要を記述することもできます。テーブルの概要はtable要素のsummary属性で指定します。ここで設定した概要は音声ブラウザなどの環境で使用されるものであるため、概要を設定した場合でもブラウザ上では何も表示はされません。
<table summary="概要"> ... </table>
下記をファイル名「table_caption.html」として「text」フォルダーに保存します。