HTMLのtableタグ内で使用するcaption, thead, tbody, tfoot, tr, th, tdタグの使い分けについて学習します。
すべて画面上で表を作成するためのタグです。
見比べてそれぞれの使い方の違いを感じ取ってください。
tableタグ
役割&特徴
表全体を囲みます。
表を使用するメリットは各要素を横並びにした時に、要素の幅をそろえやすいこと。
例えばdlタグを使用して、dt, ddを横並びにしたとします。
その時はdtタグ内の文字数によってdtの幅がマチマチになってしまい、全体で見た時に縦列がガタガタになってしまいます。
tableタグを使用すると、thの幅は1番大きいthの横幅にそろえられて、縦列が一直線にそろいます。
デメリットは表は横幅を取りやすいということです。
パソコンではきれいに表全体が見えていても、スマホで見ると表が画面からはみ出して、横スクロールしないと右側が見られない、ということもよく起こります。
captionタグ
役割&特徴
表の名前や説明を作成します。
tableタグの直後に書きます。
theadタグ
役割&特徴
tableのheader、つまり表の1行目の見出しを作成します。
thead, tbody, tfootタグを記述しない開発者もいますし、画面上の表示に問題はありません。
ですが案件として収入が発生する成果物はていねいに作成するようにしましょう。
tbodyタグ
役割&特徴
tableのbody、つまり表の主になるデータを記述する部分です。
ここに数行から数十行のデータを記述していくわけですが、途中からだるくなります。
ちなみに私は5行までが限界です。
じゃあ5行以上書かなきゃいけない時はどうするのかですが、javascriptを使います。
作成するデータをエクセルとかでもらってcsvファイルにします。
それをjavascriptで読み込んで、javascriptにHTMLを作成させます。
記述量が増えるとHTMLの閉じタグの記述漏れも増えます。
HTMLに慣れたらjavascriptの学習も検討してみてください。
tfootタグ
役割&特徴
tableのfooter、つまり表の最後の行を作成します。
tbodyで記述したデータの合計値を表示したりすることが多いです。
ここでもjavascriptの話になりますが、tbodyにcsvファイルの中身を記述していく中で、合計値などを計算させることができます。
月ごとに読み込むデータが変わっても、tfootの計算式は変わらないので、簡単に使いまわすことができます。
trタグ
役割&特徴
thead, tbody, tfootタグの中で必ず1度は使用します。
行を作成するタグで、trタグで囲まれたものが1行で表示されます。
thタグ
役割&特徴
theadタグ内で使用して、見出しを作成します。
tbodyタグ内で使用する場合もよくあります。
表の1番左を見出しにするケースです。
また標準で文字が太字、そして中央寄せになります。
tdタグ
役割&特徴
tableタグの中で1番使用します。
エクセルで例えるとセルになります。
セルというとセルの結合の話をしなければなりません。
tdタグにcolspanを設定すると隣のセルと結合します。
rowspanを設定すると下のセルと結合します。
まとめ
紹介したタグを使用して表を作成してみます。
記述したHTMLと作成された表を何度も見比べてそれぞれのタグの使い方をつかみ取ってください。
<table>
<caption>クラスの成績表</caption>
<thead>
<tr>
<th>名前</th>
<th>獲得数</th>
</tr>
</thead>
<tbody>
<tr>
<td>山田</td>
<td>10</td>
</tr>
<tr>
<td>佐藤</td>
<td>8</td>
</tr>
<tr>
<td>鈴木</td>
<td>14</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>合計</td>
<td>32</td>
</tr>
</tfoot>
</table>
名前 | 獲得数 |
---|---|
山田 | 10 |
佐藤 | 8 |
鈴木 | 14 |
合計 | 32 |