since: 31st/Aug./2001; last modified: 16th/Sep./2001
テーブルは一般に、複数の行からなります。一行ごとに tr
要素の内容として表現しますが、複数の行を一つのまとまりとして扱いたいことがあります。このようなとき、 thead, tfoot, tbody
要素を用います。
これらの要素を用いるときは、 caption
要素や col, clgroup
要素よりも後ろに記述しなければなりません。また、 thead, tfoot, tbody
の順番で現れねばならず、それぞれ最大一回づつしか現れてはなりません。また、当該テーブル内の全ての tr
要素は、これらの要素の子要素としてだけ存在します。
thead
要素はテーブルのヘッダ部、 tfoot
要素はテーブルのフッタ部、 tbody
要素はテーブルの本体部分(ボディー部)を意味します。
理想的なレンダリングエンジンならば、ヘッダ部の行とフッタ部の行を上下に配置し、間にボディー部を配置するでしょう。また、テーブルが一画面に収まらない場合は、ヘッダ部とフッタ部を一画面内に固定し、ボディー部はその間にスクロールするでしょう。印刷時に複数毎にまたがるような場合は、紙が変わるごとにヘッダ部とフッタ部を繰り返すでしょう。
th, td
要素の scope
属性の値 "rowgroup
" が作用するのも、これらの要素内です。また、 rowspan
属性によって、複数行にまたがるセルを作る場合も、これらのグループ要素の範囲内に限られることがあります。
<table summary="行グループ化要素の利用例"> <caption>見本</capotin> <thead> <tr><th>見出し1</th> <th>見出し2</th></tr> </thead> <tfoot> <tr><th>見出し1’</th> <th>見出し2’</th></tr> </tfoot> <tbody> <tr><td>データ1</td> <td>データ2</td></tr> <tr><td>データ3</td> <td>データ4</td></tr> </tbody> <tbody> <tr><td>データ5</td> <td>データ6</td></tr> <tr><td>データ7</td> <td>データ8</td></tr> </tbody> </table>
見出し1 | 見出し2 |
---|---|
見出し1’ | 見出し2’ |
データ1 | データ2 |
データ3 | データ4 |
データ5 | データ6 |
データ7 | データ8 |
列グループ化要素に定義されている属性は、共通属性集合の Common
の他、セル内容の配置指定である align, valign
属性です。
列グループ化要素内でこれらの属性を用いると、当該グループ内の全ての th, td
要素で当該属性を指定したのと等価です。この属性値は、個別の要素ごとの定義に上書きされます:
<tbody align="right"> <tr> <td>右寄せ揃い</td><td>右寄せ揃い</td> </tr> <tr> <td align="center">中央揃い</td><td>右寄せ揃い</td> </tr> </tbody>