表行(<tr>
)必须在表体(<tbody>
)中,如果表有一个表体,还是它可以存在于表体外?
<table>
<tr>
<td colspan='2'>...</td>
</tr>
<tbody>
<tr>
<td>...</td>
<td>...</td>
</tr>
</tbody>
<tr>
<td colspan='2'>...</td>
</tr>
<tbody>
<tr>
<td>...</td>
<td>...</td>
</tr>
</tbody>
</table>
答案 0 :(得分:6)
不,<tr>
可以在<thead>
,<tbody>
,<tfoot>
中,也可以不在其中任何一个。
答案 1 :(得分:6)
与Terrill Thomson所说的相反,在<tr>
,<thead>
和<tfoot>
标记之外但在<tbody>
标记内的<table>
标记的表格将会已根据W3C Markup Validation Service验证。
此文档已成功检查为HTML 4.01 Transitional:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
</head>
<body>
<table>
<thead>
<th colspan="2">head1</th>
<th>head2</th>
</thead>
<tfoot>
<th colspan="2">foot1</th>
<th>foot2</th>
</tfoot>
<tr><td colspan="3">this row is outside of thead and tfoot</td></tr>
<tbody>
<tr>
<td>1-1</td>
<td>1-2</td>
<td>1-3</td>
</tr>
<tr>
<td>2-1</td>
<td>2-2</td>
<td>3-3</td>
</tr>
<tr>
<td>3-1</td>
<td>3-2</td>
<td>3-3</td>
</tr>
</tbody>
</body>
</html>
答案 2 :(得分:1)
<tbody>
(表格标题)或<table>
(表格页脚)元素,则 <thead>
用于标记<tfoot>
的正文。如果您的表格不包含这些元素,则可以不使用<tbody>
。
正确使用将是:
<table>
<thead><tr><th>Item </th><th>Cost </th></tr></thead>
<tbody><tr><td>Stack Overflow</td><td>Free </td></tr>
<tr><td>Something cool</td><td>$1.00</td></tr></tbody>
</table>
答案 3 :(得分:1)
如果<tr>
之外的<tbody>
,该页面将无法验证:
http://validator.w3.org
正如其他人所说,除非您使用<tbody>
或<thead>
,否则<tfoot>
是可选的。使用后两个元素的主要原因是如果打印长表,则在每个页面上重复页眉和页脚。
听起来你可能正在创建类似日历的东西,你想要有<th>
的交替行(例如,对于日期)和<td>
(例如,对于那个日期的事件) )。如果是这种情况,则不应将交替行包装在<thead>
和<tbody>
中 - 这样做会在打印页面时混淆浏览器。如果您只是将分组元素保留,则表格将进行验证。但是,某些屏幕阅读器可能会被该标记混淆,并将最顶部的标题行应用于它们下面的所有单元格。对于像这样的复杂表格,您需要添加额外的标记以确保屏幕阅读器了解表格的组织方式。这是您的可访问标记表:
<table summary="A brief description of how the table is organized, for screen reader users">
<tr>
<th colspan='2' id="header1">...</th>
</tr>
<tr>
<td headers="header1">...</td>
<td headers="header1">...</td>
</tr>
<tr>
<th colspan='2' id="header2">...</th>
</tr>
<tr>
<td headers="header2">...</td>
<td headers="header2">...</td>
</tr>
</table>
或者,您可能需要考虑是否可以在多个表中组织数据,或者是否可以提供更易于屏幕阅读器用户使用的替代版本。例如,事件日历可另外呈现为事件列表。
答案 4 :(得分:0)
&LT; TBODY&GT;是可选的,所以答案是'是&lt; tr&gt;可以在外面“ - 见http://www.w3.org/TR/html4/struct/tables.html#h-11.2.3。