<th>:表格标题元素
试一试
属性
此元素包含 全局属性。
abbr
-
标题单元格内容的简短缩写描述,作为在其他上下文中引用单元格时使用的标题单元格的替代标签。某些用户代理(例如语音阅读器)可能会在内容本身之前呈现此描述。
colspan
-
一个非负整数,指示标题单元格跨越或扩展的列数。默认值为
1
。用户代理会将大于 1000 的值视为不正确,并将此类值默认为1
。 headers
-
一个空格分隔的字符串列表,对应于提供此标题单元格标题的
<th>
元素的id
属性。 rowspan
-
一个非负整数,指示标题单元格跨越或扩展的行数。默认值为
1
;如果其值设置为0
,则标题单元格将扩展到<th>
所属的表格分组部分(<thead>
、<tbody>
、<tfoot>
,即使是隐式定义的)的末尾。大于65534
的值将被截断为65534
。 scope
-
定义标题(在
<th>
中定义)元素所关联的单元格。可能的 枚举 值为row
:标题与它所属行的所有单元格相关;col
:标题与它所属列的所有单元格相关;rowgroup
:标题属于一个行组,并与它的所有单元格相关;colgroup
:标题属于一个列组,并与它的所有单元格相关。
如果未指定
scope
属性,或其值不是row
、col
、rowgroup
或colgroup
,则浏览器会自动选择标题单元格适用的单元格集。
已弃用的属性
以下属性已弃用,不应使用。它们在下面记录,以便在更新现有代码时参考,仅供历史参考。
align
已弃用-
指定标题单元格的水平对齐方式。可能的 枚举 值为
left
、center
、right
、justify
和char
。如果支持,则char
值会根据char
属性中定义的字符以及charoff
属性中定义的偏移量来对齐文本内容。请改用text-align
CSS 属性,因为此属性已弃用。 axis
已弃用-
包含一个空格分隔的字符串列表,每个字符串都对应于标题单元格适用的单元格组的
id
属性。请改用scope
属性,因为此属性已弃用。 bgcolor
已弃用-
定义标题单元格的背景颜色。该值为 HTML 颜色;可以是 6 位十六进制 RGB 代码(以“
#
”为前缀),也可以是 颜色关键字。不支持其他 CSS<color>
值。请改用background-color
CSS 属性,因为此属性已弃用。 char
已弃用-
没有任何作用。最初旨在指定内容相对于表头单元格字符的对齐方式。此属性的典型值包括句点 (
.
),用于尝试对齐数字或货币值。如果align
未设置为char
,则忽略此属性。 charoff
已弃用-
没有任何作用。最初旨在指定表头单元格内容相对于由
char
属性指定的对齐字符的偏移字符数。 height
已弃用-
定义推荐的表头单元格高度。请改用
height
CSS 属性,因为此属性已弃用。 valign
已弃用-
指定表头单元格的垂直对齐方式。可能的 枚举 值为
baseline
、bottom
、middle
和top
。请改用vertical-align
CSS 属性,因为此属性已弃用。 width
已弃用-
定义推荐的表头单元格宽度。请改用
width
CSS 属性,因为此属性已弃用。
使用说明
示例
有关完整的表格示例,介绍常见标准和最佳实践,请参阅 <table>
。
基本列和行标题
此示例使用 <th>
元素在基本表格结构中引入列和行标题。
HTML
第一行(<tr>
元素)包含列标题(<th>
元素),这些标题充当列的“标题”,以便更容易理解列中的信息并识别数据。为了指示每个列标题都与相应列中的所有单元格相关,scope
属性设置为 col
(列)。
其余行包含表格的主要数据。这些行中的每一行都以行标题(<th>
元素)作为第一个单元格引入。这会创建一个以行标题作为表格第一列的列。与列标题类似,scope
属性设置为 row
以指定每个行标题所关联的单元格,在下面的示例中,这些单元格是每行中的所有数据单元格(<td>
元素)。
<table>
<tr>
<th scope="col">Symbol</th>
<th scope="col">Code word</th>
<th scope="col">Pronunciation</th>
</tr>
<tr>
<th scope="row">A</th>
<td>Alfa</td>
<td>AL fah</td>
</tr>
<tr>
<th scope="row">B</th>
<td>Bravo</td>
<td>BRAH voh</td>
</tr>
<tr>
<th scope="row">C</th>
<td>Charlie</td>
<td>CHAR lee</td>
</tr>
<tr>
<th scope="row">D</th>
<td>Delta</td>
<td>DELL tah</td>
</tr>
</table>
CSS
一些基本的 CSS 用于设置表格及其单元格的样式。我们使用 CSS 属性选择器 根据其 scope
属性值来定位表头单元格,突出显示列和行标题(<th>
元素),并区分它们彼此以及与数据单元格(<td>
)。
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 10px;
}
th[scope="col"] {
background-color: #505050;
color: #fff;
}
th[scope="row"] {
background-color: #d6ecd4;
}
tr:nth-of-type(odd) td {
background-color: #eee;
}
结果
列和行跨度
此示例扩展并增强了 上一个示例 中的基本表格,方法是添加第二行以提供其他列标题。
HTML
添加了一个额外的表格行(<tr>
元素)作为表格的第二行表头,其中包含两个额外的列标题(<th>
元素)。这样,“发音”列就被拆分为两列,一列用于 IPA(国际音标)符号,另一列用于拼写(原始发音列)。相应的数据单元格(<td>
元素)被添加到每个后续行中。
如 用法说明 中所示,<th>
元素可以使用 colspan
和 rowspan
属性分配到正确的列和行。为了在表格结构中实现“两行”标题,第一个 <tr>
元素中的前两个表头单元格跨两行扩展。第三个表头单元格跨两列宽(保留在第一行)。此设置在第二行中的第三列和第四列中留下了两个可用区域,其中第二个 <tr>
元素中的两个标题会自动放置,colspan
和 rowspan
属性的默认值为 1
。
<table>
<tr>
<th scope="col" rowspan="2">Symbol</th>
<th scope="col" rowspan="2">Code word</th>
<th scope="col" colspan="2">Pronunciation</th>
</tr>
<tr>
<th scope="col">IPA</th>
<th scope="col">Respelling</th>
</tr>
<tr>
<th scope="row">A</th>
<td>Alfa</td>
<td>ˈælfa</td>
<td>AL fah</td>
</tr>
<tr>
<th scope="row">B</th>
<td>Bravo</td>
<td>ˈbraːˈvo</td>
<td>BRAH voh</td>
</tr>
<tr>
<th scope="row">C</th>
<td>Charlie</td>
<td>ˈtʃɑːli</td>
<td>CHAR lee</td>
</tr>
<tr>
<th scope="row">D</th>
<td>Delta</td>
<td>ˈdeltɑ</td>
<td>DELL tah</td>
</tr>
</table>
CSS
CSS 与 上一个示例 中的 CSS 一致。
结果
将表头单元格与其他表头单元格关联
对于表头单元格之间更复杂的关系,仅使用带 scope
属性的 th
元素可能不足以满足辅助技术的需要,尤其是屏幕阅读器。
HTML
为了提高 可访问性 的 上一个示例 并允许屏幕阅读器例如说出与每个表头单元格关联的标题,可以引入 headers
属性以及 id
属性。由于“发音”列在示例中被拆分为两列,引入了“两行”标题,因此屏幕阅读器等辅助技术可能无法识别“发音”表头单元格与哪些其他表头单元格(th
元素)相关联,反之亦然。因此,在“发音”、“IPA”和“拼写”表头单元格上使用 headers
属性,以根据添加的 id
属性的唯一标识符的值以空格分隔列表的形式关联相关的表头单元格。
<table>
<tr>
<th scope="col" rowspan="2">Symbol</th>
<th scope="col" rowspan="2">Code word</th>
<th scope="col" colspan="2" id="p" headers="i r">Pronunciation</th>
</tr>
<tr>
<th scope="col" id="i" headers="p">IPA</th>
<th scope="col" id="r" headers="p">Respelling</th>
</tr>
<tr>
<th scope="row">A</th>
<td>Alfa</td>
<td>ˈælfa</td>
<td>AL fah</td>
</tr>
<tr>
<th scope="row">B</th>
<td>Bravo</td>
<td>ˈbraːˈvo</td>
<td>BRAH voh</td>
</tr>
<tr>
<th scope="row">C</th>
<td>Charlie</td>
<td>ˈtʃɑːli</td>
<td>CHAR lee</td>
</tr>
<tr>
<th scope="row">D</th>
<td>Delta</td>
<td>ˈdeltɑ</td>
<td>DELL tah</td>
</tr>
</table>
结果
技术摘要
内容类别 | 无。 |
---|---|
允许的内容 | 流内容,但没有标题、页脚、分节内容或标题内容后代。 |
标签省略 | 开始标签是必需的。 如果结束标签紧跟 <th> 或 <td> 元素,或者其父元素中没有更多数据,则可以省略结束标签。 |
允许的父元素 | <tr> 元素。 |
隐式 ARIA 角色 | columnheader 或 rowheader |
允许的 ARIA 角色 | 任意 |
DOM 接口 | HTMLTableCellElement |
规范
规范 |
---|
HTML 标准 # the-th-element |
浏览器兼容性
BCD 表格仅在浏览器中加载
另请参阅
- 学习:HTML 表格
<caption>
、<col>
、<colgroup>
、<table>
、<tbody>
、<td>
、<tfoot>
、<thead>
、<tr>
:其他与表格相关的元素background-color
:CSS 属性,用于设置每个表头单元格的背景颜色border
:CSS 属性,用于控制表头单元格的边框height
:CSS 属性,用于控制推荐的表头单元格高度text-align
:CSS 属性,用于水平对齐每个表头单元格的内容vertical-align
:CSS 属性,用于垂直对齐每个表头单元格的内容width
:CSS 属性,用于控制推荐的表头单元格宽度:nth-of-type
、:first-of-type
、:last-of-type
:CSS 伪类,用于选择所需的表头单元格