<captain>
添加标题
{通过 <caption> 元素为你的表格增加一个标题,再把 <caption> 元素放入 <table> 元素中。你应该把它放在 <table> 开始标签的下面。}
<table>
<caption>
侏罗纪时期的恐龙
</caption>
…
</table>
标题就放在 <table>
标签的下面。
<thead> <tfoot> <tbody>
结构
<thead>
元素必须包住表格中作为表头的部分。一般是第一行,往往都是每列的标题,但是不是每种情况都是这样的。如果你使用了 <col>/<colgroup> 元素,那么<thead>
元素就需要放在它们的下面。<tfoot>
元素需要包住表格中作为表脚的部分。一般是最后一行,往往是对前面所有行的总结,比如,你可以按照预想的方式将<tfoot>
放在表格的底部,或者就放在<thead>
的下面。(浏览器仍将它呈现在表格的底部)<tbody>
元素需要包住表格内容中不在表头或表尾的其他部分。它可以出现在表头的下方,或者有时出现在表脚下方,这取决于你如何安排它。
备注: <tbody>
总是包含在每个表中,如果你没有在代码中指定它,那就是隐式的。可以来验证一下,打开一个你之前没有包含 <tbody>
的例子,然后在你的浏览器开发者工具中观察你的代码,你会看到浏览器为你添加了这个标签。你也许会想问,为什么你应该在所有表中都需要这个元素,因为它可以让你更好地控制表格结构和样式。
<table>
<caption>How I chose to spend my money</caption>
<thead>
<tr>
<th>Purchase</th>
<th>Location</th>
<th>Date</th>
<th>Evaluation</th>
<th>Cost (€)</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="4">SUM</td>
<td>118</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>Haircut</td>
<td>Hairdresser</td>
<td>12/09</td>
<td>Great idea</td>
<td>30</td>
</tr>
<tr>
<td>Lasagna</td>
<td>Restaurant</td>
<td>12/09</td>
<td>Regrets</td>
<td>18</td>
</tr>
<tr>
<td>Shoes</td>
<td>Shoeshop</td>
<td>13/09</td>
<td>Big regrets</td>
<td>65</td>
</tr>
<tr>
<td>Toothpaste</td>
<td>Supermarket</td>
<td>13/09</td>
<td>Good</td>
<td>5</td>
</tr>
</tbody>
</table>
<scope>属性
id和标题属性
如果要替代 scope
属性,可以使用 id 和 headers (en-US) 属性来创建标题与单元格之间的联系。使用方法如下:
- 为每个
<th>
元素添加一个唯一的id
。 - 为每个
<td>
元素添加一个headers
属性。每个单元格的headers
属性需要包含它从属于的所有标题的 id,之间用空格分隔开。
这会给你的 HTML 表格中每个单元格的位置一个明确的定义。像一个电子表格一样,通过 headers 属性来定义属于哪些行或列。为了让它工作良好,表格同时需要列和行标题。