HTML講座 / table・tr・th・tdで表を作る

HTMLの表はtableの中に行のtrを置き、見出しセルをth、データセルをtdで表します。まずデータの行と列の関係を決め、罫線や色などの見た目はCSSで調整します。

行と列を持つ基本の表

例は果物の在庫を表す架空のデータです。最初の行が列の名前で、以降の行が果物と数量の組になっています。次をHTML文書のbodyへ入れます。

<table>
  <tr>
    <th>Fruit</th>
    <th>Stock</th>
  </tr>
  <tr>
    <td>Apples</td>
    <td>12 pieces</td>
  </tr>
  <tr>
    <td>Pears</td>
    <td>8 pieces</td>
  </tr>
</table>

一つのtrが横一行になり、セルが左から並びます。初期表示では罫線が目立たないこともありますが、表が壊れているとは限りません。新しい果物を加える場合は、名前と数量を含む行を一つ追加します。先に紙などで行列を整理すると、セルの不足を見つけやすくなります。

見出し行とデータ行をまとめる

theadは見出し行、tbodyはデータ行のグループです。合計などのまとめにはtfootを使えます。次の例は基本の表と同じデータを明示的にグループ化しています。

<table>
  <thead>
    <tr><th>Fruit</th><th>Stock</th></tr>
  </thead>
  <tbody>
    <tr><td>Apples</td><td>12 pieces</td></tr>
    <tr><td>Pears</td><td>8 pieces</td></tr>
  </tbody>
</table>

これらは行の構造を表し、背景色や罫線を自動で指定するものではありません。HTMLソースでtbodyを省略していても、ブラウザーがDOMに追加する場合があります。開発者ツールの構造と、保存したソースの表記が違うことを区別して確認します。

見出しとデータを区別し、幅を調整する

thは行や列を識別する見出し、tdは対応する値です。太字にしたいだけでthを選びません。数量には単位を添えるか、見出し側で単位を説明し、12が個数か金額かを判断できるようにします。

広い表は次の包みとCSSで横スクロールさせられます。最初のコードのコメント位置へ、すでに作った表の行を入れてください。

<div class="table-scroll">
  <table>
    <!-- Place the preceding table rows here. -->
  </table>
</div>
.table-scroll { max-width: 100%; overflow-x: auto; }

caption、scope、セル結合は読みやすい表の構造で扱います。MDNのtable要素でも関連する属性を確認できます。

セルの位置がずれる場合

各行のセル数が予定した列数と一致するかを確認します。セルが足りないと、値が別の見出しの下へ入ってしまいます。列幅を合わせるためにスペースを何個も入れず、CSSで見た目を調整してください。

狭い画面で切れるときは、データを消したり極端に小さくしたりする前に、横スクロールを検討します。表はデータの関係を表すために使い、ページ全体の配置にはCSSのレイアウトを使います。

같은 카테고리의 다른 글
HTML講座 / formの構造とGET・POSTによる送信

HTML講座 / formの構造とGET・POSTによる送信

action、method、nameの役割とGET・POSTの違いを学びます。FormDataと開発者ツールを使い、送信対象の値、入力検証、サーバー処理を分けて確認します。

HTML講座 / ol・ul・dlと入れ子のリスト

HTML講座 / ol・ul・dlと入れ子のリスト

順序付きリスト、箇条書き、用語と説明のリストを使い分けます。番号の開始位置や逆順表示、リスト項目の中にサブリストを置く正しい構造も学びます。

HTML講座 / figureとfigcaptionで図と説明をまとめる

HTML講座 / figureとfigcaptionで図と説明をまとめる

図とキャプションを一つのまとまりとして表す方法を学びます。altとキャプションの役割、出典の示し方、figureを使わなくてもよい場面も説明します。

HTML講座 / HTML文書の基本構造

HTML講座 / HTML文書の基本構造

doctype、html、head、bodyの役割と、文字コード・文書タイトル・viewportの設定を解説します。ファイルの保存から表示確認、表示されない場合の調べ方まで学べます。

HTML講座 / img・alt・画像サイズを指定する

HTML講座 / img・alt・画像サイズを指定する

imgのsrc、alt、width、heightの役割を学びます。画像の配置場所と相対パス、装飾画像の代替テキスト、表示幅とファイル容量の違いも説明します。

HTML講座 / HTMLアクセシビリティの基本を確認する

HTML講座 / HTMLアクセシビリティの基本を確認する

見出し、リンク、画像、フォームを意味のあるHTMLで作る方法を学びます。スキップリンク、キーボード、フォーカス、ズームを確認する小さなページと、検査の限界も紹介します。

HTML講座 / fieldset・legend・autocompleteでフォームを説明する

HTML講座 / fieldset・legend・autocompleteでフォームを説明する

関連する入力をfieldsetでまとめ、legendで質問を示す方法を学びます。ラジオグループを独立させるnameと、自動入力の目的を示すautocompleteの違いも解説します。

HTML講座 / メール・数値・日付・選択肢に合うinputの型

HTML講座 / メール・数値・日付・選択肢に合うinputの型

email、number、date、checkbox、radioの使い分けを学びます。見える入力UIと送信値、初期値と現在値の違いを、フォームデータの確認とともに説明します。

HTML講座 / detailsとsummaryで開閉できる説明を作る

HTML講座 / detailsとsummaryで開閉できる説明を作る

JavaScriptなしで開閉する補足説明を作ります。open属性の真偽、分かりやすいsummaryの書き方、Tab・Enter・Spaceによる操作の確認方法も紹介します。

HTML講座 / 見出しと段落を正しく使う

HTML講座 / 見出しと段落を正しく使う

h1〜h6で見出しの階層を表し、pで段落、brで段落内の改行を作る方法を学びます。文字サイズと文書構造を区別し、見出しの飛び級を修正する練習も行います。