2007-03-19

tfootはtbodyの前に書かなくてはいけないよ

tfoot は tbody の前に書いた方がいいよ | WWW WATCH

内容が間違ってるとは言い切れないけど、タイトルのせいで勘違いしている人がいるようなので一言。

「書いたほうがいい」じゃなくて「書かなくてはいけない」ね。そうしないと(X)HTMLとして間違ってるから。

以下HTML 4.01、XHTML 1.0、XHTML 1.1(XHTML Modularization)のDTD

<!ELEMENT TABLE - -
     (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
<!ELEMENT table
     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
<!ENTITY % table.content
     "( %caption.qname;?, ( %col.qname;* | %colgroup.qname;* ),
      (( %thead.qname;?, %tfoot.qname;?, %tbody.qname;+ ) | ( %tr.qname;+ )))"
>

ちなみにPukiWiki

|thead|h
|tbody|
|tfoot|f

と書いても

<div class="ie5">
<table class="style_table" cellspacing="1" border="0">
<thead><tr><td class="style_td">thead</td></tr></thead>
<tfoot><tr><td class="style_td">tfoot</td></tr></tfoot>
<tbody><tr><td class="style_td">tbody</td></tr></tbody>
</table>
</div>

と出力してくれる。(改行はこちらで入力

PukiWiki恐ろしい子!(白目)


見直してて気づいたけど、HTML 4.01/XHTML 1.0は

<table><thead>...</thead><tr>...</tr></table>

を許してる(tbodyが補われるかどうかの違いはあるけど)のに、XHTML 1.1はそうじゃないのね。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん