<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>tbody 要素型 (HTML, XHTML 1)</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <dfn><code class="HTMLe">tbody</code> 要素型</dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">行群</anchor>の要素型の一つで、表の本体を表します。
すなわち、表の本体にあたる (見出しなどでない) 行の集合です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end>
仕様書:<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor><ul><li><anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="HTML4:&quot;struct/tables.html#edef-TBODY&quot;">IW:HTML4:&quot;struct/tables.html#edef-TBODY&quot;</anchor-external></li></ul></li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 表の本体が複数の主要構成部分から成るときには、
<code class="HTMLe">tbody</code> を複数個使うことができます。
しかし、よく用いられる表では <code class="HTMLe">tbody</code>
は一つだけであることが多いです。</p><p>HTML 4 など一部の HTML では、そのように <code class="HTMLe">tbody</code>
の範囲が自明なときにはタグを省略できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end><dl><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">局所名</anchor></dt><dd><code class="HTMLe">tbody</code></dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前空間名</anchor></dt><dd><code class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">http://www.w3.org/1999/xhtml</anchor></code></dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">開始タグ</anchor></dt><dd>省略可能 (HTML 4), 必須 (XHTML 1)</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">終了タグ</anchor></dt><dd>省略可能 (HTML 4), 必須 (XHTML 1)</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容模型</anchor></dt><dd><code class="SGML">(<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tr</anchor></code>+)</code></dd><dt>出現できる文脈</dt><dd><code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">table</anchor></code> 直下、
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tfoot</anchor></code> (あれば) の後</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor></dt><dd><table><tbody><tr><td>属性名</td><td>属性値</td><td>既定値</td><td>説明</td><td>状態</td><td>出典</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">align</anchor></code></td><td></td><td></td><td>揃え</td><td>[HTML4] <code class="SGML">%<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cellhalign</anchor></code></td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">bgcolor</anchor></code></td><td><code class="SGML">%<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Color</anchor></code></td><td></td><td>背景色</td><td>非標準</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">char</anchor></code></td><td></td><td></td><td>揃える文字</td><td>[HTML4] <code class="SGML">%cellhalign</code></td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">charoff</anchor></code></td><td></td><td></td><td>揃える文字</td><td>[HTML4] <code class="SGML">%cellhalign</code></td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">class</anchor></code></td><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">級</anchor></td><td>[HTML4] %<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">coreattr</anchor></td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">dir</anchor></code></td><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">書字方向</anchor></td><td>[HTML4] %<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">i18n</anchor></td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">id</anchor></code></td><td></td><td></td><td>一意識別子</td><td>[HTML4] %coreattr</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">lang</anchor></code></td><td></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">自然言語</anchor></td><td>[HTML4] %i18n</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml</anchor>:lang</code></td><td></td><td></td><td>自然言語</td><td>[XHTML1]</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onclick</anchor></code></td><td></td><td></td><td></td><td>[HTML4] %<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">events</anchor></td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ondblclick</anchor></code></td><td></td><td></td><td></td><td>[HTML4] %events</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onkeydown</anchor></code></td><td></td><td></td><td></td><td>[HTML4] %events</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onkeypress</anchor></code></td><td></td><td></td><td></td><td>[HTML4] %events</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onkeyup</anchor></code></td><td></td><td></td><td></td><td>[HTML4] %events</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onmousedown</anchor></code></td><td></td><td></td><td></td><td>[HTML4] %events</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onmousemove</anchor></code></td><td></td><td></td><td></td><td>[HTML4] %events</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onmouseout</anchor></code></td><td></td><td></td><td></td><td>[HTML4] %events</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onmouseover</anchor></code></td><td></td><td></td><td></td><td>[HTML4] %events</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onmouseup</anchor></code></td><td></td><td></td><td></td><td>[HTML4] %events</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code></td><td></td><td></td><td>スタイル情報</td><td>[HTML4] %coreattr</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">title</anchor></code></td><td></td><td></td><td>注釈的題</td><td>[HTML4] %coreattr</td></tr><tr><td><code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">valign</anchor></code></td><td></td><td></td><td>垂直配置</td><td>[HTML4] <code class="SGML">%<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cellvalign</anchor></code></td></tr><tr><td><code class="XMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xmlns</anchor></code></td><td colspan="2"><code class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">http://www.w3.org/1999/xhtml</anchor></code> 固定</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前空間名</anchor></td><td>W3C 勧告</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML m12n</anchor></td></tr></tbody></table></dd></dl></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <code class="HTMLe">tbody</code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">thead</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tfoot</anchor></code> は同じ数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">列</anchor>を含まなければなりません。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form><section><h1>タグの最小化</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <code class="HTMLe">tbody</code> をはじめとする<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">行群</anchor>要素型を使うと、
複雑な表であっても正確に記述できますが、そのタグが必須であるとすると、
簡単な表であってもマークが複雑になってしまい不便です。</p><p>そこで、 HTML の表の多くの仕様・実装では、 <code class="HTMLe">tbody</code>
の開始タグおよび終了タグを (自明であれば) 省略できるとしています 
(<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal>)。</p><p>たとえば、<table><tbody><tr><td>#12</td><td>大きな窓</td><td>2004年2月</td></tr><tr><td>#25</td><td>小さな鼠</td><td>2002年8月</td></tr><tr><td>#56</td><td>野原の左</td><td>2000年3月</td></tr></tbody></table></p><p>という表は、<pre class="HTML">&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;#12&lt;/td&gt; &lt;td&gt;大きな窓&lt;/td&gt; &lt;td&gt;2004年2月&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;#25&lt;/td&gt; &lt;td&gt;小さな鼠&lt;/td&gt; &lt;td&gt;2002年8月&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;#56&lt;/td&gt; &lt;td&gt;野原の左&lt;/td&gt; &lt;td&gt;2000年3月&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</pre></p><p>とマークしますが、タグが省略できるなら、<pre class="HTML">&lt;table&gt;
&lt;tr&gt;&lt;td&gt;#12&lt;/td&gt; &lt;td&gt;大きな窓&lt;/td&gt; &lt;td&gt;2004年2月&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;#25&lt;/td&gt; &lt;td&gt;小さな鼠&lt;/td&gt; &lt;td&gt;2002年8月&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;#56&lt;/td&gt; &lt;td&gt;野原の左&lt;/td&gt; &lt;td&gt;2000年3月&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</pre></p><p>になります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 開始タグが省略できる条件は、より正確には、 HTML 4 仕様書によれば<ul><li><code class="HTMLe">tbody</code> が一つだけであり、かつ</li><li><code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">thead</anchor></code> も <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tfoot</anchor></code> もない</li></ul></p><p>ときだけです。終了タグはいつでも省略できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> てことは、<pre class="HTML">&lt;table&gt;
&lt;thead&gt;
&lt;tr/&gt;
&lt;/thead&gt;
&lt;tr/&gt;
&lt;/table&gt;</pre></p><p>は駄目になります。 SGML 的には無問題な気がするけどどうですか? </p><p>HTML 4 仕様書には更に<q>適合 UA は後方互換性のためにこの規則に従わなければなりません</q>と書かれていますが、関係あるのでしょうか。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> ところで、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> はタグの省略を認ていないので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML</anchor> ではこの機能が実現できません。そこで、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 1</anchor> では <code class="HTMLe">table</code> 要素の直下に
<code class="HTMLe">tr</code> 要素を入れることを認めています。</p><p>ですから、 XHTML 1 でも <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal> の2例は共に妥当になり得ますが、
前例と後例では異なる構造を持つデータであると見なされてしまいます。</p><p>(これによって簡単な表と複雑な表をまとめて処理できなくなってしまうため、 
XHTML 1 では <code class="HTMLe">tbody</code> 
を省略するべきではないという意見があります。)</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>レンダリング</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> HTML 4 仕様書は、レンダリングの例として、表が一画面に収まりきらないときに
<code class="HTMLe">tbody</code> 部分だけを scroll 
可能にすることに触れています。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>例</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">table</anchor></code> の使用例も参照されたし。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end>
HTML 4 の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>には
<q>Use multiple TBODY sections when rules are needed between groups of table rows.</q>
とアドバイス(?)があります。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> [sage])</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end>
<cite>Bug 30378 &amp;#8211; Parser should not add &lt;tbody&gt; to HTML 3.2 tables</cite> (<code>2007-02-10 13:37:47 +09:00</code> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=30378">https://bugzilla.mozilla.org/show_bug.cgi?id=30378</anchor-external>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end>
<cite xml:lang="ja">hxxk.jp - CSS で tbody 要素を一定の高さにして、 overflow: auto でスクロール表示にする tips</cite> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">真琴</anchor> 著, <code>2007-03-18 23:26:06 +09:00</code> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://hxxk.jp/2007/03/18/2000">http://hxxk.jp/2007/03/18/2000</anchor-external>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2007-03-18 23:20:37 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end>
<cite>Bug 455043 &amp;#8211; remove HTML 3 quirks mode</cite> (<time>2008-09-15 22:19:34 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=455043">https://bugzilla.mozilla.org/show_bug.cgi?id=455043</anchor-external>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor>)</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <cite xml:lang="en">Let HTMLTableElement create*() and insertRow() return specific types · whatwg/html@93cb3d6</cite>
(<time>2015-12-01 11:39:17 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/93cb3d61526cf956a739c57398760dc8a3a633bd">https://github.com/whatwg/html/commit/93cb3d61526cf956a739c57398760dc8a3a633bd</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <cite xml:lang="ja">hxxk.jp - CSS で tbody 要素を一定の高さにして、 overflow: auto でスクロール表示にする tips</cite> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">望月真琴</anchor> 著, <time>2015-12-24 22:51:48 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://web.archive.org/web/20120517000214/http://hxxk.jp/2007/03/18/2000">http://web.archive.org/web/20120517000214/http://hxxk.jp/2007/03/18/2000</anchor-external></p></section></body></html>