tbody要素は、表の本体を表す要素です。
tr要素を一つ以上含む必要があります。
| 属性名 | 属性値 | 説明 |
|---|---|---|
| align | left | center | right | justify | char | セル内のデータの配置やテキストの揃え方を指定できます。詳細についてはHTML 4.01の仕様書を参照してください。 |
| char | Character | 文字で揃える場合に、基準となる文字を指定できます。詳細についてはHTML 4.01の仕様書を参照してください。 |
| charoff | Length | 文字で揃える場合に、基準となる文字までのオフセットを指定できます。詳細についてはHTML 4.01の仕様書を参照してください。 |
| valign | top | middle | bottom | baseline | セル内のデータの垂直方向の配置を指定できます。詳細についてはHTML 4.01の仕様書を参照してください。 |
id, class, title, lang(xml:lang), dir, style, xmlns(XHTML1.1のみ)
onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup
tbody要素は、表(table要素)の本体を表す要素です。
thead要素、tfoot要素、tbody要素は、表の行(tr要素)をグループ化するための要素です。thead要素は表のヘッダ、tfoot要素は表のフッタ、tbody要素は表の本体を表します。thead要素とtfoot要素は、1つの表(table要素)に対して1つずつしか記述できませんが、tbody要素は必要な数だけ記述することができます。
tr要素はthead要素(表のヘッダ)、tfoot要素(表のフッタ)、tbody要素(表の本体)でグループ化することができます。
<!-- tr要素のグループ化の例 -->
<table>
<thead>
<tr><th>ファイル名</th><th>サイズ</th><th>更新日時</th></tr>
</thead>
<tbody>
<tr><td>a.html</td><td>7.28KB</td><td>2005年2月12日</td></tr>
<tr><td>b.html</td><td>6.72KB</td><td>2004年9月30日</td></tr>
</body>
</table>
thead要素、tfoot要素、tbody要素の順に記述します(tfoot要素をtbody要素よりも前に記述します)。thead要素とtfoot要素は無くてもかまいません。
tr要素をグループ化することで、表のヘッダとフッタを固定して、本体だけをスクロールさせるといったことが可能になります。ただし、これらの要素に対応していないブラウザでは、記述したとおりtbody要素よりも前にtfoot要素が表示される可能性があります。
HTML4では、tbody要素の開始タグと終了タグを省略しても良いことになっています。そして、table要素は、必ず1つ以上のtbody要素を含むことになっています。そのため、以下のように<tbody>...</tbody>タグを記述しなくても、tbody要素が存在すると解釈されます。
<!-- HTML4では<tbody>タグを書かなくても、tbody要素が存在すると解釈される -->
<table>
<!-- ここで<tbody>タグが省略されていると見なされる -->
<tr><th>ファイル名</th><th>サイズ</th><th>更新日時</th></tr>
<tr><td>a.html</td><td>7.28KB</td><td>2005年2月12日</td></tr>
<tr><td>b.html</td><td>6.72KB</td><td>2004年9月30日</td></tr>
<!-- </tbody>タグが省略されていると見なされる -->
</table>
HTML4の仕様通りに解釈するブラウザでは、<tbody>...</tbody>タグが省略されていてもtbody要素が存在するように扱われます(スタイルシートやスクリプトの挙動が異なってきます)。
XHTMLではタグの省略は認められていません。そのため、上記のようにtable要素を記述すると、tbody要素は存在しないと解釈されます。