HTML 的 <tr> 元素

1. 什么是 <tr> 元素

<tr> 是 HTML 中用于定义表格行的标签,全称是 Table Row (表格行)。它必须作为 <table> 或 <thead>、<tbody>、<tfoot> 的直接子元素使用,用来包裹一行中的单元格。

一个 <tr> 元素内部通常包含若干个 <td>(标准单元格)或 <th>(表头单元格),它们共同构成表格的一行。

2. 基本语法

html 复制代码
<table>
  <tr>
    <td>第一行第一列</td>
    <td>第一行第二列</td>
  </tr>
  <tr>
    <td>第二行第一列</td>
    <td>第二行第二列</td>
  </tr>
</table>

浏览器渲染效果:

第一行第一列 第一行第二列
第二行第一列 第二行第二列

3. 常用属性

3.1 全局属性

<tr> 支持所有 HTML 全局属性,如 class、id、style、title 等,常用于配合 CSS 或 JavaScript 操作行。

3.2 事件属性

<tr> 也支持标准事件属性,例如 onclick、onmouseover、onmouseout 等,可用于实现行级交互。

4. 与 <th> 和 <td> 的配合

  • <th>:表头单元格,默认加粗并居中显示,用于标识列或行的含义。
  • <td>:标准数据单元格,默认左对齐。
html 复制代码
<table>
  <tr>
    <th>姓名</th>
    <th>年龄</th>
  </tr>
  <tr>
    <td>张三</td>
    <td>25</td>
  </tr>
</table>

5. 使用 <thead>、<tbody>、<tfoot> 分组

在实际项目中,推荐用 <thead>、<tbody>、<tfoot> 对 <tr> 进行分组,便于样式控制和语义化:

html 复制代码
<table>
  <thead>
    <tr>
      <th>产品</th>
      <th>价格</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>键盘</td>
      <td>199</td>
    </tr>
    <tr>
      <td>鼠标</td>
      <td>89</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td>合计</td>
      <td>288</td>
    </tr>
  </tfoot>
</table>

6. 行合并与列合并

在 <tr> 内部,可以通过 <td> 或 <th> 的 rowspan 和 colspan 属性实现跨行、跨列:

html 复制代码
<table>
  <tr>
    <td rowspan="2">跨两行</td>
    <td>第一行</td>
  </tr>
  <tr>
    <td>第二行</td>
  </tr>
</table>

7. 注意事项

  • <tr> 不能直接包含文本内容,文本必须放在 <td> 或 <th> 中。
  • <tr> 不能脱离 <table> 单独使用,否则浏览器不会正确渲染。
  • 使用 CSS 的 :hover 伪类可以方便地实现鼠标悬停高亮整行。

8. 总结

<tr> 是构建 HTML 表格的核心行标签,配合 <td>、<th> 以及 <thead>、<tbody>、<tfoot> 分组,可以清晰、语义化地组织表格数据。掌握它的基本用法和属性,是前端开发的基础技能之一。

相关推荐
@大迁世界5 小时前
Firefox 本地模式:localhost 再见了 ?
前端·架构
米米商聊7 小时前
同名附件为什么被 Map 覆盖?重复键与一对多索引
前端·javascript
echome8888 小时前
Python 异常处理:try、else、finally 的正确搭配
开发语言·前端·python·异常处理·编程技巧
时间的情敌8 小时前
OpenLayers 实战|Vue3 + OpenLayers 完整工程案例(加载天地图、要素、弹窗、绘制、WFS)
前端·openlayers
陈随易8 小时前
下载神器!Motrix 停更三年后重写回归
前端·后端·程序员
前端的日常9 小时前
一个人+AI做情侣食谱小程序,0 费用的服务器
前端·后端
计算机魔术师9 小时前
谷歌搜索广告踩刹车,AI广告成为救命稻草
前端
总要学点什么10 小时前
第81篇:数据可视化-PM2.5分布——让圆点的胖瘦替每座城市报出浓度
前端·信息可视化·echarts·cesium·空间分析
IT_陈寒10 小时前
Vue的v-for里用了个临时变量,页面直接挂了
前端·人工智能·后端
hunter_07610 小时前
一次 iOS 真机签名 409 的完整排查:证书、设备、描述文件为什么总是"对不上"
前端