tbody要素
要素名 | バージョン | 開始タグ | 終了タグ | 分類/親 | 中身 |
---|---|---|---|---|---|
tbody | 4.0, X1.0, X1.1 | 省略可 | 省略可 | table | (tr)+ |
属性名 | バージョン | 属性値 | 既定値 | 備考 |
---|---|---|---|---|
align | 3.2, 4.0, X1.0, X1.1 | (left|center|right|justify|char) | #IMPLIED | |
char | 4.0, X1.0, X1.1 | %Character; | #IMPLIED | alignment char, e.g. char=':' |
charoff | 4.0, X1.0, X1.1 | %Length; | #IMPLIED | offset for alignment char |
valign | (4.0), (X1.0) | (top|middle|bottom|baseline) | #IMPLIED |
共通属性 …… %coreattrs;, %i18n;, %events;
tbodyの解説
colgroup要素が列をグループ化するのに対し、thead要素, tbody要素, tfoot要素は行をグループ化します。colgroup と違って要素名が別れているのは、視覚系のブラウザで表示、印刷される際にそれぞれ異なる扱いを受けるためです。
tbody要素は table要素の表の本体部分を表します。表のヘッダ部を表す thead要素、フッタを表す tfoot要素と区分するだけではなく、複数の tbody要素で本体部分をいくつかのグループに分けることもできます。
HTML4 では tbody要素は開始タグも省略可能となっていますが、これは table 内に thead も tfoot もなく、かつ tbody が一つしかないときに限ります。HTML3.2 の表を HTML4.0 として見ると、開始タグ終了タグ共に省略された tbody要素を一つだけ含む表として解釈されることになります。そして XHTML の場合は、タグの省略はできないものの、tbody要素そのものが省略できるようになっています。
つまり、<tbody> も </tbody> もない table は、HTML のバージョンによってそれぞれ以下のように解釈されることになります。
- HTML3.2 …… そもそも tbody要素などというものは存在しない
- HTML4 …… 開始タグ終了タグが省略された tbody要素が存在する
- XHTML1.0 …… tbody要素が省略されている
HTML4 ではタグを省略しても tbody要素が依然として存在するのですが、XHTML1.0 では要素自体があっさり省略できてしまうので注意が必要です。単純に XHTML に移行したつもりでも、tbody要素にスタイルを指定している場合の結果が異なってくる場合があります。
- 「tbody要素」にコメントを書く