th要素
HTMLでは、表を挿入することができます。
本ページでは、th要素について説明します。
th要素とは
th要素は、表のヘッダーセルを示します。
thの定義は、以下のとおりです。
コンテンツカテゴリ | なし |
---|---|
可能な親要素 | tr |
可能なコンテンツ | フローコンテンツ ※header、footer、セクショニングコンテンツ、見出しコンテンツを除く |
タグの省略 | 開始タグは必須。 終了タグは、直後にtdまたはthが続く場合、または親要素にこれ以上コンテンツがない場合に省略可能。 |
DOMインターフェース | HTMLTableCellElement |
利用例
以下は、thを使ったHTMLの例です。
<table>
<caption>表のタイトル</caption>
<thead>
<tr>
<th>ヘッダー1</th>
<th>ヘッダー2</th>
</tr>
</thead>
<tbody>
<tr>
<td>データ1-1</td>
<td>データ1-2</td>
</tr>
<tr>
<td>データ2-1</td>
<td>データ2-2</td>
</tr>
</tbody>
</table>
上記により、表が表示されますが、スタイル付けしないとデフォルトではほとんど表に見えません。表のスタイルなどを変える方法は、「HTMLに表を挿入して装飾する」をご参照ください。
属性
グローバル属性と、以下が使えます。
- colspan
- セルを結合する列の数を指定します(横に結合)。1〜1000の値が使えます。
- rowspan
- セルを結合する行の数を指定します(縦に結合)。0〜65534の値が使えます。0は、残りすべてを結合します。
- headers
- 他のヘッダーセルと関連を示す時、ヘッダーセルのIDと同じ名前を指定します。また、半角スペースで区切って複数指定できます。
- scope
- 関連するセルを定義します。
- abbr
- ヘッダーセルの要約や略称を記述します。
headersもscopeも、目的は同じです。このデータは、どのヘッダーに対応しているのかを明確化します。
次からは、各属性の利用例を示します。
colspan属性の利用例
colspan属性の利用例は、以下のとおりです。
<table>
<tr>
<th colspan="2">ヘッダー1</th>
<th>ヘッダー3</th>
</tr>
<tr>
<td>データ1-1</td>
<td>データ1-2</td>
<td>データ1-3</td>
</tr>
<tr>
<td>データ2-1</td>
<td>データ2-2</td>
<td>データ2-3</td>
</tr>
</table>
CSSでスタイル付けすると、以下のように表示されます。
ヘッダーが、セルが横に結合されています。
rowspan属性の利用例
rowspan属性の利用例は、以下のとおりです。
<table>
<tr>
<th rowspan="2">ヘッダー1</th>
<td>データ1-1</td>
<td>データ1-2</td>
</tr>
<tr>
<td>データ2-1</td>
<td>データ2-2</td>
</tr>
<tr>
<th>ヘッダー3</th>
<td>データ3-1</td>
<td>データ3-2</td>
</tr>
</table>
CSSでスタイル付けすると、以下のように表示されます。
ヘッダーで、セルが縦に結合されています。
headers属性の利用例
headers属性の利用例は、以下のとおりです。
<table> <tr> <th id="h1">ヘッダー上1</th> <th id="h2">ヘッダー上2</th> <th id="h3">ヘッダー上3</th> </tr> <tr> <th id="w1" headers="h1">ヘッダー左1</th> <td headers="h2 w1">データ1-1</td> <td headers="h3 w1">データ1-2</td> </tr> <tr> <th id="w2" headers="h1">ヘッダー左2</th> <td headers="h2 w2">データ2-1</td> <td headers="h3 w2">データ2-2</td> </tr> </table>
headers属性を使っても、見た目の表示は変わりませんが、ヘッダーとデータの関連付けはされています。上記であれば、headersでh1を指定したヘッダー(赤字)は、IDがh1のヘッダーと関連付けされています。
scope属性の利用例
scopeでは、以下の値が使えます。
値 | 説明 |
---|---|
row | 同じ行にあるセルのヘッダーであることを示します。 |
col | 同じ列にあるセルのヘッダーであることを示します。 |
rowgroup | 行グループ(複数行)のヘッダーであることを示します。 |
colgroup | 列グループ(複数列)のヘッダーであることを示します。 |
scope属性の利用例は、以下のとおりです。
<table> <tr> <th>種類</th> <th>個数</th> <th>重さ</th> </tr> <tr> <th scope="rowgroup">果物</th> <td></td> <td></td> </tr> <tr> <th scope="row">りんご</th> <td>1000個</td> <td>100kg</td> </tr> <tr> <th scope="row">みかん</th> <td>2000個</td> <td>120kg</td> </tr> ※野菜関連も記載 </table>
CSSでスタイル付けすると、以下のように表示されます。
果物は、「りんご」と「みかん」の行グループのヘッダーです。つまり、2行のヘッダーということになります。また、「りんご」と「みかん」はその行のヘッダーです。
ヘッダーが複雑な場合、読み上げソフトでヘッダーとデータの関連付けが難しくなることがあります。そのような時、scope属性を使うとデータのヘッダーが明確にできます。headers属性でも、目的は同じです。
abbr属性の利用例
abbr属性の利用例は、以下のとおりです。
<table> <tr> <th abbr="種類">今日とれた果物の種類</th> <th abbr="個数">左に記載した果物の数</th> </tr> <tr> <td>りんご</td> <td>1000個</td> </tr> <tr> <td>みかん</td> <td>2000個</td> </tr> </table>
abbr属性を使っても、見た目の表示は変わりませんが、読み上げソフトで読まれることが期待されます。
ブラウザのサポート状況
各ブラウザの最新バージョンでのサポート状況は、以下のとおりです。
項目 | IE | Ed | Fx | Ch | Sa | Op |
---|---|---|---|---|---|---|
th | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
colspan | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
rowspan | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
headers | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
scope | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
abbr | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
項目 | Sa | An | Op | Ch | Fx | Sm |
---|---|---|---|---|---|---|
th | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
colspan | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
rowspan | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
headers | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
scope | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
abbr | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 |
- 〇
- サポート
- △
- 制限あり
- ×
- 未サポート
- ?
- 不明
- IE
- Internet Explorer
- Ed
- Edge
- Fx
- Firefox
- Ch
- Chrome
- Sa
- Safari
- Op
- Opera
- An
- Android Browser
- Sm
- Samsung Internet
※スマートフォンのFirefoxとChromeは、Android版です。
「HTML要素(タグ)一覧」に戻る