HTMLで表(テーブル)を作成する際、その表が「何を表しているのか」をユーザーに示すことは非常に重要です。
見出しタグ(h2など)を直前に置くだけでも意味は通じますが、HTMLには表専用のタイトルタグである<caption>(キャプション)が用意されています。
この記事では、<caption> タグの基本的な書き方から、CSSを使ってタイトルの位置を下に移動させたり、おしゃれにデザインしたりする方法まで詳しく解説します。
![]() 執筆者:マヒロ |
|
captionタグの基本と正しい記述位置
<caption> タグは、テーブル全体のキャプション(タイトルや説明)を定義するための要素です。
非常にシンプルなタグですが、記述する場所には厳格なルールがあります。
ブラウザに正しく認識させるために、まずは基本的な構文とルールをマスターしましょう。
必ずtableタグの直下に記述する
<caption> タグは、必ず <table> タグの開始タグの直後に記述する必要があります。
<thead> や <tr> よりも前に書かなければならない点に注意してください。
1つのテーブルにつき、設置できるキャプションは1つだけです。
<table>
<caption>2024年度 売上成績表</caption>
<thead>
<tr>
<th>月</th>
<th>売上</th>
</tr>
</thead>
<tbody>
<tr>
<td>4月</td>
<td>100万円</td>
</tr>
</tbody>
</table>
コード解説
<table>:表全体の開始を示します。<caption>...</caption>:ここに表のタイトルを記述します。デフォルトでは表の上部中央に表示されます。<thead>,<tbody>: 表のヘッダー部分とボディ部分です。キャプションはこれらよりも上に記述します。
キャプションの位置を変更する方法(CSS)
デフォルトの状態では、キャプションは「表の上」かつ「中央揃え」で表示されます。
しかし、デザインによっては「表の下に注釈として入れたい」場合や、「左寄せにしたい」場合もあるでしょう。
HTMLの属性(alignなど)は現在廃止されているため、位置の調整には必ずCSSを使用します。
ここでは代表的なプロパティを紹介します。
タイトルを表の下に配置する(caption-side)
キャプションを表の上ではなく「下」に表示したい場合は、CSSの caption-side プロパティを使用します。
<style>
.bottom-caption {
caption-side: bottom; /* キャプションを下に配置 */
}
</style>
<table class="bottom-caption">
<caption>※データは2024年12月時点のものです</caption>
<tr>
<td>データA</td>
<td>データB</td>
</tr>
</table>
コード解説
caption-side: bottom;:このCSSを指定することで、HTMLの記述順序に関わらず、キャプションが表の「下側」に表示されます。caption-side: top;:こちらが初期値です。表の上に表示されます。- 注釈や出典元などを記載する場合に、この下配置がよく利用されます。
タイトルの文字配置を調整する(text-align)
キャプションの文字を左寄せや右寄せにしたい場合は、通常のテキストと同様に text-align プロパティを使います。
<style>
caption {
text-align: left; /* 左寄せ */
/* text-align: right; 右寄せ */
/* text-align: center; 中央寄せ(初期値) */
}
</style>
コード解説
text-align: left;:キャプションのテキストを左端に寄せます。表の幅に合わせて配置されます。- 表の幅(width)が狭い場合、キャプションもその幅の中で改行されることに注意してください。
キャプションをおしゃれにデザインする応用テクニック
単に文字を表示するだけでなく、背景色を付けたり枠線を引いたりすることで、より見やすく魅力的なテーブルデザインを作ることができます。
ここでは、よく検索される「枠線(border)との組み合わせ」や「目立つ見出しデザイン」のサンプルを紹介します。
テーブルと一体化させたデザイン
キャプションに背景色をつけ、テーブルの一部であるかのように見せるデザインです。
<style>
.styled-table {
border-collapse: collapse;
width: 100%;
}
.styled-table caption {
background-color: #333; /* 背景を黒に */
color: #fff; /* 文字を白に */
padding: 10px; /* 内側の余白 */
font-weight: bold; /* 太字 */
text-align: left; /* 左寄せ */
border-top-left-radius: 5px; /* 角を丸く */
border-top-right-radius: 5px;
}
.styled-table th, .styled-table td {
border: 1px solid #ccc;
padding: 10px;
}
</style>
<table class="styled-table">
<caption>製品スペック一覧</caption>
<tr>
<th>製品名</th>
<td>Super Widget X</td>
</tr>
</table>
コード解説
background-color/color:キャプションの背景色と文字色を変更し、見出しとして目立たせています。padding: 10px;:文字の周りに余白を持たせ、窮屈な見た目になるのを防ぎます。border-radius:キャプションの上部の角を丸くすることで、モダンで柔らかい印象を与えています。
キャプションに画像を入れることも可能
<caption> タグの中には、テキストだけでなく画像(<img>)を含めることも可能です。
アイコン画像をタイトルの横に配置したい場合などに有効です。
<table>
<caption>
<img src="icon.png" alt="" width="20" height="20" style="vertical-align: middle;">
アクセスランキング
</caption>
<!-- テーブルの中身 -->
</table>
コード解説
<img>:キャプション内に画像を配置しています。alt属性は、文脈上不要であれば空にしておきます。vertical-align: middle;:画像とテキストの垂直方向の位置を中央に揃えるためのCSSです。これがないと画像と文字の高さがズレて見えることがあります。
captionタグを使う際の注意点とアクセシビリティ
最後に、<caption> タグを使用する上で知っておくべきルールと、アクセシビリティ(使いやすさ)の観点からの重要性を解説します。
1つのテーブルにキャプションは1つまで
HTMLの仕様上、1つの <table> 要素に対して <caption> は1つしか配置できません。
タイトルと注釈の両方を書きたい場合は、1つのキャプションタグ内で改行(<br>)するか、CSSで擬似要素を使うなどの工夫が必要です。
アクセシビリティ向上のために
スクリーンリーダー(視覚障がい者向けの読み上げソフト)は、テーブルに到達するとまずキャプションを読み上げます。
これにより、ユーザーは「その表を読む必要があるか、飛ばしても良いか」を即座に判断できます。
単なる <p> タグや <div> タグでタイトルを作るのではなく、適切な <caption> タグを使うことは、Webサイトの品質を高める上で非常に重要です。
HTML/CSSのスキルを活かして年収を上げる方法
以上、HTMLに見出しをつけるcaptionタグについて解説してきました。
なお、HTMLやCSSのスキルがある場合には、「副業で稼いで年収を上げる」といったことが可能です。
エージェントサービスは、登録も利用もすべて完全無料なので、どんな求人や案件があるのか気になる方は、気軽に利用してみるとよいでしょう。



