tbody要素

概要

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, langxml: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要素は存在しないと解釈されます。

関連要素