【初心者向け】HTMLの表(table)タグの使い方を丁寧に解説

HTML/CSS入門

1.表(table)タグとは?

HTMLの<table>タグは、データを行(row)と列(column)で整理して表示するためのタグです。
たとえば、以下のような「名前と年齢の一覧表」のように、情報を表形式で見せたいときに使います。

表の表示イメージ

<table border="1">         <!-- 表全体を囲む -->
  <tr>                      <!-- 1行目の開始 -->
    <th>名前</th>           <!-- 見出しセル:名前 -->
    <th>年齢</th>           <!-- 見出しセル:年齢 -->
  </tr>
  <tr>                      <!-- 2行目の開始 -->
    <td>さくら</td>         <!-- データセル:さくら -->
    <td>17</td>             <!-- データセル:17 -->
  </tr>
  <tr>                      <!-- 3行目の開始 -->
    <td>たけし</td>         <!-- データセル:たけし -->
    <td>18</td>             <!-- データセル:18 -->
  </tr>
</table>
名前 年齢
さくら 17
たけし 18

このように、<table>の中に<tr>(行)、その中に<th><td>(セル)を入れていくことで表を作ります。

2.基本構成:table・tr・td・thの意味と役割

HTMLの表は、以下のタグを組み合わせて構成します:

タグ意味
<table>表全体を囲むタグ
<tr>1行(row)を表すタグ
<td>データ用のセル(通常のマス)
<th>見出し用のセル(太字&中央揃え)

それぞれの役割を簡単に説明

<table>

表全体を囲むためのタグです。これがないとHTML上では「表」と認識されません。

<tr>

1行を意味するタグです。表の中ではこの<tr>が何行も並ぶことで、複数行の表になります。

<td>

「table data」の略。データを入れる通常のセルを意味します。テキストや画像、リンクなども入れられます。

<th>

「table header」の略。見出し用のセルで、デフォルトで太字・中央揃えになります。表のタイトルや列のラベルに使われます。

説明付きHTMLコード

<table border="1">           <!-- 表全体 -->
  <tr>                        <!-- 1行目 -->
    <th>商品名</th>           <!-- 見出し:商品名 -->
    <th>価格</th>             <!-- 見出し:価格 -->
  </tr>
  <tr>                        <!-- 2行目 -->
    <td>りんご</td>           <!-- データセル -->
    <td>100円</td>            <!-- データセル -->
  </tr>
  <tr>                        <!-- 3行目 -->
    <td>バナナ</td>
    <td>120円</td>
  </tr>
</table>
商品名 価格
りんご 100円
バナナ 120円

このように、1つの<table>の中に複数の<tr>(行)、その中に<th><td>(セル)を入れて構成します。

「border=”1″」を入れておくと、初心者でも枠線が表示されて見やすくなります。デザインを整える場合は次の見出しでCSSを使います。

3.よく使う属性の解説(border・colspan・rowspanなど)

HTMLの表を作るときに、少しだけ便利な「属性」を知っておくと、より実用的なレイアウトが作れます。
ここでは初心者でも使いやすい代表的な属性を紹介します。

border属性(枠線をつける)

  • border="1"<table> に加えると、表全体に枠線が表示されます。 *”1″は1pxの線という意味
  • 枠線がないと構造がわかりにくくなるので、学習時や試作ではとても便利です。

colspan属性(セルを横に結合)

  • colspan="2" のように書くと、セルが横に2つ分結合されます
  • 1行目に「商品一覧」などの見出しを横長で入れたいときに便利。

rowspan属性(セルを縦に結合)

  • rowspan="2" と書くと、セルが縦に2行分結合されます
  • 項目が複数行にまたがるときに便利です。

説明付きHTMLコード

<table border="1">
  <tr>
    <th colspan="2">商品一覧</th>       <!-- 横に2列分つなぐ -->
  </tr>
  <tr>
    <th>商品名</th>
    <th>価格</th>
  </tr>
  <tr>
    <td rowspan="2">りんご</td>         <!-- 縦に2行分つなぐ -->
    <td>100円</td>
  </tr>
  <tr>
    <td>150円(大)</td>
  </tr>
</table>
商品一覧
商品名 価格
りんご 100円
150円(大)

ポイントまとめ

  • border="1" は視認性向上のためによく使う
  • colspanrowspan は表を整えるための「セル結合」用
  • 結合するセルの位置や数に注意しないとレイアウトが崩れる

💡 セルの結合は、特にスケジュール表や請求書風のレイアウトなどでよく使います。

4.表をCSSで装飾してみよう

HTMLだけで表を作ると、見た目が質素で古い印象になりがちです。
そこで、CSSを使って表のデザインを整えると、読みやすく・美しくなります。

ここでは、初心者にもわかりやすい4つの装飾ポイントを紹介します。

表に枠線をつける(border)

table, th, td {
  border: 1px solid #333;
}

表全体に1本線の枠をつけます。tablethtdすべてに適用。

セルの隙間をなくす(border-collapse)

table {
  border-collapse: collapse;
}

通常は枠線が二重になりますが、これでスッキリ1本線になります。

セルに余白をつけて読みやすく(padding)

th, td {
  padding: 8px;
}

文字が窮屈に見える問題を解決します。

偶数行の背景色(nth-child)

tr:nth-child(even) {
  background-color: #f9f9f9;
}

しましま模様(ストライプ)になり、読みやすさがアップします。

これらをまとめたHTML+CSSコード

<style>
  table {
    border-collapse: collapse;
    width: 100%;
  }
  th, td {
    border: 1px solid #333;
    padding: 8px;
    text-align: left;
  }
  tr:nth-child(even) {
    background-color: #f9f9f9;
  }
</style>

<table>
  <tr>
    <th>商品名</th>
    <th>価格</th>
  </tr>
  <tr>
    <td>りんご</td>
    <td>100円</td>
  </tr>
  <tr>
    <td>バナナ</td>
    <td>120円</td>
  </tr>
</table>
商品名 価格
りんご 100円
バナナ 120円

5.よくある注意点・初心者のつまずき

HTMLの表(<table>)はシンプルなようで、初心者がつまずきやすいポイントもいくつかあります。
ここでは、よくあるミスや注意点をまとめて解説します。

<tr>の中に直接<td>や<th>を書かないと表示されない

誤り例(NG)

<table>
  <td>間違った書き方</td>
</table>

➡️ <td><th>必ず<tr>(行)の中に入れる必要があります。

表の見た目が地味=CSSで装飾が必要

HTMLだけの表は↓のようにとても簡素です:

<table>
  <tr>
    <td>A</td>
    <td>B</td>
  </tr>
</table>
A B

➡️ デザインを整えるには、borderpaddingなどをCSSで加える必要があります。

スマホで表が崩れる(レスポンシブ非対応)

デフォルトの<table>は、画面幅に収まりきらないと横スクロールになるなど、スマホでは見づらいことがあります。

➡️ レスポンシブ対応には、以下のようにoverflow-x: autoでスクロール可能にする方法が一般的です。

説明付きHTML

<div style="overflow-x: auto;">
  <table>
    ...
  </table>
</div>
項目 内容
注意点 スマホでは横にスクロールできるようにすると良い

💡この方法はスマホでも表がはみ出さず、左右にスライドできるようになるので実務でもよく使われます。

6.まとめ

この記事では、HTMLの表を作るために必要な基本タグとその使い方、そしてCSSでの装飾方法までを解説しました。
初心者がつまずきやすいポイントも押さえたので、これからの実践に役立ててください。

おさらいポイント

  • 表は <table> の中に <tr>(行)、その中に <td><th>(セル)を入れて構成する
  • 見出しには <th>、データには <td> を使う
  • bordercolspanrowspan で表の見た目と構造を調整できる
  • CSSで border-collapsepaddingnth-child を使うと読みやすくなる
  • スマホ対応には overflow-x: auto でスクロール可能にするのが有効
次に進むためのおすすめステップ
  • 表を使った スケジュール表や料金表の実装
  • CSSでさらにスタイリッシュな表にする応用(hover効果、カラーテーマなど)
  • モバイル対応のテーブルデザインを試してみる
<style>
  table {
    border-collapse: collapse;
    width: 100%;
  }
  th, td {
    border: 1px solid #333;
    padding: 8px;
    text-align: left;
  }
  tr:nth-child(even) {
    background-color: #f9f9f9;
  }
</style>

<div style="overflow-x: auto;">
  <table>
    <tr>
      <th>項目</th>
      <th>内容</th>
    </tr>
    <tr>
      <td>タグ構造</td>
      <td><table> > <tr> > <td>/<th></td>
    </tr>
    <tr>
      <td>装飾</td>
      <td>border、padding、nth-child などCSSで整える</td>
    </tr>
    <tr>
      <td>スマホ対応</td>
      <td>overflow-x: auto を使ってスクロール可能に</td>
    </tr>
  </table>
</div>
項目 内容
タグ構造 <table> > <tr> > <td>/<th>
装飾 border、padding、nth-child などCSSで整える
スマホ対応 overflow-x: auto を使ってスクロール可能に

表は情報を整理して伝えるのにとても便利なパーツです。
今回の記事が「HTMLで表を作りたい」と思っていた方の参考になれば幸いです。
このブログでは、他にも初心者向けのHTML&CSS記事を多数公開していますので、ぜひあわせてチェックしてみてくださいね!


HTML,CSSを学ぶ方々におすすめの書籍です。

僕自身、様々なプログラミングの本を購入しましたが、こちらの[HTML&CSSとWebデザインが1冊できちんと身につく本]が一番わかりやすく、一冊で基本を一通り学べる内容になっています。


HTML&CSSとWebデザインが1冊できちんと身につく本[増補改訂版] [ 服部雄樹 ]

コメント

タイトルとURLをコピーしました