8

考虑以下 HTML:

<table>
    <tr>
        <td>Born</td>
        <td><time datetime="1986-11-05">5<sup>th</sup> November 1986</time></td>
    </tr>
    <tr>
        <td>Gender</td>
        <td>Male</td>
    </tr>
    <tr>
        <td>Sports</td>
        <td>Football<br />Tennis</td>
    </tr>
    <tr>
        <td>Teams</td>
        <td>Liverpool FC<br />Spain FC</td>
    </tr>
</table>

是否<th>可以引用列而不是行?我想把左栏加粗。

4

3 回答 3

14

是的,您可以<th>用于行或列中的单元格。

<table>
    <tr>
        <th>Born</th>
        <td><time datetime="1986-11-05">5<sup>th</sup> November 1986</time></td>
    </tr>
    <tr>
        <th>Gender</th>
        <td>Male</td>
    </tr>
...
于 2013-02-04T03:31:55.033 回答
11

规范明确指出,一个th元素可以为一列或一行(或一组列或行)提供标题信息。该属性scope=row可用于明确表示标题单元格是行标题。

使用thvs.td有一些含义。其功能含义是用户代理可能会th以一种特殊的方式进行处理,通过相应的头信息让用户访问数据单元。这主要适用于基于语音的代理。为了使这一点有意义,th单元格应该真正提供数据行或数据列的标识信息。在这种情况下,条件得到满足。因此,您可以并且应该使用th而不是td,完全独立于所需的渲染。

其他含义是默认情况下,th元素内容以粗体呈现并水平居中。如果这不合适,您可以轻松地在 CSS(甚至 HTML)中覆盖它。在您的情况下,如果您希望内容为粗体但左对齐,请使用th { text-align: left; }. (另一种可能更好的风格是右对齐行标题:th { text-align: right; }。居中可能看起来很奇怪。)

于 2013-02-04T09:36:27.100 回答
0

或者您可以将该css添加到仅第一列的粗体

table tr td:first-child{font-weight:bold;}
于 2013-02-04T03:36:18.743 回答