将表头和表数据单元混合在一个表行中

时间:2016-02-24 17:06:13

标签: html-table w3c

我有一组调查问题,每个问题都安排在一个单行表中。我希望第一个条目用作提示并且一直在使用< th>对于那个单元格,如:

<table style='width:100% table-layout:fixed;border-collapse: collapse;'>
  <tr>
    <th style='width:40%'>
      <b>How long were you on active surveillance?</b>
    </th>
    <td style='width:10%;'>f3_watchtime_num</td>
    <td style='width:5%'></td>
    <td style='width:50%;>f3_watchtime</td>
  </tr>
</table>

它似乎工作正常,但我有一些关于混合的保留和问题&lt; th&gt;和&lt; td&gt;单个&lt; tr&gt;中的单元格:

  1. 此HTML5标准是否合规? (是否存在允许或禁止此做法的W3C文档?)
  2. 这种做法有任何缺点吗?
  3. 谢谢, 大卫

2 个答案:

答案 0 :(得分:3)

1。这个HTML5标准是否合规? (是否存在允许或禁止此练习的W3C文档?)

W3C tr引用说它的内容模型可以包含:

  

内容模型:
  零个或多个td,th和脚本支持元素
  https://www.w3.org/TR/html5/tabular-data.html#the-tr-element

虽然您的使用不常见,但W3C中没有任何禁止它的内容。

2。这种做法有任何缺点吗?

至于thtd的使用,W3C接受了它们,只要它们是tr元素的子项。
但是,如果您正在显示表格数据(即您的调查结果是数据),使用表格就可以了。如果您使用该表进行布局,则应使用基于CSS的布局。

答案 1 :(得分:0)

W3C的建议是避免使用表格进行布局。它仅对显示有序数据有效,但并非如此。您可以使用<div>实现相同的功能,并且在语义上也是正确的。

其他问题是关于混音的问题。我想如果你不写<tbody><thead>标签,你就不要分开表格中标题的内容,这样才能正确,因为没有&# 39; <td>内有<thead>个标记,<th>内没有<tbody>个标记。

但是,如果您没有为此目的使用表格,那么这是更好的做法。