• ベストアンサー

<tbody>は何のためにあるんでしょうか?

ホームページの制作の仕事をして数ヶ月たちます。 参考に、他のウェブサイトを保存してソースを見る事があるのですが、テーブルでレイアウトしているサイトでよく<tbody>タグを使っているところを目にします。(私は使うメリットがわからないので使っていませんが…) <tbody>を使うことに何かメリットがあるのでしょうか? もし便利な使い方があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • nieve
  • ベストアンサー率51% (14/27)
回答No.3

現在のところ、メリットは無いと思います。 ただし、tbody要素の意味は、テーブルは、複数の行から構成され、一行ごとにtr要素の内容として記述します。テーブルの内容である複数の行を一つのまとまりとして扱いたい(意味づけをしたい)場合に、thead、tfoot、tbody 要素を利用出来ます。 (HTML要素の中もhead, body要素があるような感じで構造化が出来ます) もちろん、tbody要素は省略可能となっておりますので、省略されても特に支障はありません。 SGMLには省略タグ機構という仕組みがあり、HTMLのSGML宣言はOMITTAG YESとなっていますので、省略タグ機構を用いることが出来ためです。 詳しい説明は、下記URLの説明を参照してください。 http://www1.u-netsurf.ne.jp/~7l1rll/SGMLsec6_0.html#3_1_1 また、XMLを基に再定義されたXHTMLでもtbody要素は省略可能です。 http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd  <!ELEMENT table    (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))> このように定義されたいますので、現在のところテーブルの構造を構造化(視覚的にではなく)したい場合を除き、tbody要素を使うメリットは無いと思います。 強いて言えば、見えないオシャレに使って頂ければと思います。

参考URL:
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/struct/tables.html#h-11.2.3
taro707
質問者

お礼

詳しく教えていただきありがとうございました。必要に応じて省略したり、入れたりしていきたいと思います。見えないオシャレって言い方、小粋でいいですね。

その他の回答 (3)

  • kaiu
  • ベストアンサー率20% (65/315)
回答No.4

DHTMLのデータバインド機能で使用しています。 丸っとCSVをHTMLで表示するやつです。 無くなったら困りますね、私は・・・。 テーブルでヘッダー行のグループを定義するのにTHEAD要素と一緒に使います。

参考URL:
http://www.openspc2.org/reibun/javascript/table/001/index.html
taro707
質問者

お礼

ありがとうございました。 <tbody>は色々意味があるんですね。

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

そもそも HTML によるマークアップというのはメリットがあるからこういう風にするとかそういうものではないと思いますが……。 書いてある文章の内容にしたがって、見出しを h1-h6 に、段落を p に、箇条書きを ol または ul にするのと同じように、表全体を table、表の上見出し行を thead、表のデータ部分を tbody にする、というただそれだけのことだとおもいます。 もっとも、表をレイアウトのための単なる道具としか考えていないのであれば確かに tbody 要素の存在意義は理解できないとおもいます。本来の正しい使い方ではないのですから。

参考URL:
http://strangeworld.cc/~requiem/
  • jinn69
  • ベストアンサー率33% (1/3)
回答No.1

表の列のグループ化は,1行あたりのセルの数を明示することにもなり,ブラウザはより速く表を表示できるなどのメリットがあるようです。

参考URL:
http://www2s.biglobe.ne.jp/~sealpups/laboratory/research/table/t_hbf.htm
taro707
質問者

お礼

ありがとうございます。表示が早くなるというのは一番わかりやすかったです。

関連するQ&A