MENU

tableタグの使い方+応用テクニックを解説!

2021 2/13
tableタグの使い方+応用テクニックを解説!

今回はHTMLでテーブル(表)を作成できるtableタグをご紹介したいと思います!

テーブルの基本的な作り方から、CSSを使用した見た目の変更方法まで解説してきます。

目次

tableタグとは?

ExcelやNumbers、Googleスプレッドシートといった表計算できるものを思い浮かべてみてください。そういった表を作成できるのがtableタグです。

tableタグの基本的な仕組み

HTMLでtableを使用する際には、4つのタグを使用して作成します!

table表全体を囲うタグ。
tr行(横一列)のタグ。
th見出し部分。その列が何のデータかを書く。
tdデータ。各項目をここに書く。

tableタグの書き方:基本編

tableタグの基本的な仕組みはお分かりいただけたでしょうか?ここからはtableタグの書き方について解説して行きます。

かもめ かもめ

HTMLとCSSのファイル作成について、基礎知識がある前提で解説していきます。少し不安な方は、下の記事から勉強してみてください!

あわせて読みたい
HTMLって何?基本のキから徹底解説します!
HTMLって何?基本のキから徹底解説します!Web製作をする上で避けては通れないのがHTML。今回はHTMLについて、基礎から徹底的に分かりやすく解説していきたいと思います!【HTMLとは?】HTMLとは、webページを作...
あわせて読みたい
初心者向け!CSSの書き方入門
初心者向け!CSSの書き方入門今回はCSS(スタイルシート)について解説していきます。初心者の方でも分かるよう、なるべく噛み砕いて説明していきますのでご安心ください。「CSSとは一体何なのか」...

実際にtableタグを書いてみよう!

では、ここからは手順に沿ってtableタグを書いて行きましょう!

STEP
table:全体を囲う

まずは全体を囲うtableタグを書きましょう。

クリック/タップで拡大
<table>

</table>
STEP
tr:行を作る

次に、表の行を表すtrタグを書いていきます。1行分のスペースが確保されるようなイメージです。

クリック/タップで拡大
<table>
  <tr></tr>
</table>

tableに必要な行数分、trタグを書きます。今回は見出しも合わせて4行必要なので、trを4つ書きます。

クリック/タップで拡大
<table>
  <tr></tr>
  <tr></tr>
  <tr></tr>
  <tr></tr>
</table>
STEP
th:見出し(項目名)

見出し(項目名)をthタグへ書きます。

<table>
  <tr>
    <th>名前</th> <th>種類</th> <th>必殺技</th>
  </tr>
  <tr></tr>
  <tr></tr>
  <tr></tr>
</table>

見出しはあってもなくても、どちらでもOKです。必要なときのみ書きましょう!

STEP
td:データ
クリック/タップで拡大

最後に、各データをtdタグへ書きます。

<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>

  <tr>
    <td>しょくぱんまん</td> <td>食パン</td> <td>しょくパンチ</td>
  </tr>

</table>

縦列の数を揃えないとデザインが崩れてしまうので、注意しましょう!

STEP
完成!

これでテーブルは完成です!実際に書いてみると、こういうテーブルになります。

名前 種類 必殺技
アンパンマン 粒あんパン アンパンチ
カレーパンマン カレーパン カレービュー
しょくぱんまん 食パン しょくパンチ

タグの中にタグが入っている入れ子構造なので最初のうちは分かりづらいかと思いますので、書きながら覚えて行きましょう!

tableタグの書き方:応用編

基本的なtableタグの書き方は分かりましたか?それでは、ここからは応用編のスタートです。

行・列を増やしたい

tableタグの行(横)や列(縦)は、好きなだけ増やすことができます!

  • 行を追加:trを追加で書く
  • 列を追加:tdを追加で書く

もちろん、tableタグを作ったあとで

迷える子羊 迷える子羊

やっぱり見出しがあったほうが分かりやすいなあ……

と思ったときは、thを後から追加すれば、見出しを付け足すことだってできちゃいます!

ワンポイントアドバイス

行や列を増やすときに注意しなければいけないことは、セルの数を揃えることです。

クリック/タップで拡大

例えば、左のテーブルの、データの数を数えてみましょう。

  1. 3つ
  2. 3つ
  3. 3つ
  4. 2つ

一番下の行だけ、データの数が他の行と違いますよね。
このように数が違う場合、tableタグの表示は崩れてしまいます。

trtdthを使って行や列を増やす時は注意しましょう!

th(見出し)を縦に並べたい

先ほどの例では見出しを横に並べましたが、実は見出しを縦に並べてもOKなんです!

名前アンパンマンカレーパンマン
種類粒あんパンカレーパン
声優戸田恵子柳沢三千代
<table>
  <tr>
    <th>名前</th><td>アンパンマン</td><td>カレーパンマン</td>
  </tr>
  <tr>
    <th>種類</th><td>粒あんパン</td><td>カレーパン</td>
  </tr>
  <tr>
    <th>声優</th><td>戸田恵子</td><td>柳沢三千代</td>
  </tr>
</table>

tr(行)の中にth(見出し)とtd(データ)が混在していますね。

このように、thtdを同じtrに入れることで、見出しが縦に並んだtableが作成可能です!

tableタグの内容によって見やすさが変わってくるので、その時々で適切な並びにしてみましょう。

セルを結合させたい

ExcelやNumbers、Googleスプレッドシートなどでは、セルを結合して繋げることができますよね、それと同じようにHTMLのtableタグもセル同士を結合することができます。

セル結合:縦

クリック/タップで拡大

縦のセルを結合する場合は、td(またはth)のタグにrowspan=”数”という属性を追加します

今回の例では「ジャムおじさん」を3セル分繋げるのでrowspan="3"です。

<table>

  <tr>
    <th>名前</th> <th>種類</th> <th>製作者</th>
  </tr>

  <tr>
    <td>アンパンマン</td> <td>粒あんパン</td> <td rowspan="3">ジャムおじさん</td>
  </tr>
  
  <tr>
    <td>カレーパンマン</td> <td>カレーパン</td> <!-- <td>は書きません -->
  </tr>

  <tr>
    <td>メロンパンナ</td> <td>メロンパン</td> <!-- <td>は書きません -->
  </tr>

</table>
名前 種類 製作者
アンパンマン 粒あんパン ジャムおじさん
カレーパンマン カレーパン
メロンパンナ メロンパン

上記コードのtd(ジャムおじさん)を見ると、rowspan="3"と書かれていますよね。

このrowspanで指定された数分のセルが縦方向に結合されています。

さらに、3行目と4行目の最後のtdは書かれていませんよね。このように、rowspanで結合するセルは空白にしなければいけません。

セル結合:横

クリック/タップで拡大

横方向へセルを繋げたい場合は、td(またはth)に対してcolspan=”数”という属性を追加します

rowspanと同じように、記入した数の分だけセルが横に結合されます。

<table>

  <tr>
    <th>名前</th> <th colspan="2">必殺技</th><!-- <th>は書きません -->
  </tr>

  <tr>
    <td>アンパンマン</td> <td>アンパンチ</td> <td>アンキック</td>
  </tr>
  
  <tr>
    <td>カレーパンマン</td> <td>カレーパンチ</td> <td>カレービュー</td>
  </tr>

  <tr>
    <td>しょくぱんまん</td> <td>しょくパンチ</td> <td>しょくキック</td>
  </tr>

</table>
名前 必殺技
アンパンマン アンパンチ アンキック
カレーパンマン カレーパンチ カレービュー
しょくぱんまん しょくパンチ しょくキック

上記コードのth(必殺技)を見ると、colspan="2"と書かれていますよね。

このcolspanで指定された数分のセルが横方向に結合されています。

さらに、最後のthは書かれていませんね。rowspanと同じように、こちらも結合するセルは空白にしなければいけません。

tableタグまとめ

  • HTMLでtableタグを使用すると、表を作成できる
  • tr:行
  • th:見出し
  • td:データ
  • 列や行を増やすことができる
  • Excelなどの表計算ソフト同様、セルを結合することができる

この記事が気に入ったら
フォローしてね!

この記事を書いた人

都内勤務のフロントエンドエンジニア。初心者の方向けにブログを更新中。webに萌えてもっと楽しく、もっと素敵に!

目次
閉じる