导读:本期聚焦于小伙伴创作的《HTML表格单元格怎么合并?Colspan与Rowspan跨列跨行用法详解》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《HTML表格单元格怎么合并?Colspan与Rowspan跨列跨行用法详解》有用,将其分享出去将是对创作者最好的鼓励。

HTML表格单元格合并怎么实现?HTML表格Colspan、Rowspan用法详解

在网页开发中,表格是展示结构化数据最常用的元素之一。很多时候我们需要让一个单元格跨越多列或者多行,来合并单元格实现复杂的表格布局,这时候就需要用到HTML表格的colspanrowspan属性。本文将详细介绍这两个属性的用法,帮助你快速掌握单元格合并的实现方法。

一、colspan属性:实现单元格跨列合并

colspan<td><th>标签的可选属性,用于指定当前单元格需要横跨的列数。默认情况下,每个单元格只占1列,设置colspan的值后,该单元格会横向合并指定数量的相邻列,合并后这些列原本的单元格就不需要再写了。

举个例子,我们要做一个简单的课程表表头,第一行是“课程表”三个字跨3列显示,第二行是星期一到星期三的表头,代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>colspan用法示例</title>
    <style>
        table {
            border-collapse: collapse;
            width: 300px;
        }
        th, td {
            border: 1px solid #333;
            padding: 8px;
            text-align: center;
        }
    </style>
</head>
<body>
    <table>
        <!-- 第一行:课程表跨3列 -->
        <tr>
            <th colspan="3">课程表</th>
        </tr>
        <!-- 第二行:星期一到星期三的表头 -->
        <tr>
            <th>星期一</th>
            <th>星期二</th>
            <th>星期三</th>
        </tr>
    </table>
</body>
</html>

上述代码中,第一行的<th>设置了colspan="3",所以这个表头单元格会横向合并3列,整行就只有这一个单元格,和第二行的3个表头列对齐。需要注意的是,如果设置了colspan="3",那么这一行就不需要再写其他<td><th>了,否则表格结构会出错。

二、rowspan属性:实现单元格跨行合并

rowspan同样是<td><th>标签的可选属性,用于指定当前单元格需要纵跨的行数。默认每个单元格只占1行,设置rowspan的值后,该单元格会纵向合并指定数量的相邻行,合并后这些行对应位置的单元格就不需要再写了。

我们延续上面的课程表例子,给星期一添加两节课,让“星期一”这个表头跨2行显示,代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>rowspan用法示例</title>
    <style>
        table {
            border-collapse: collapse;
            width: 300px;
        }
        th, td {
            border: 1px solid #333;
            padding: 8px;
            text-align: center;
        }
    </style>
</head>
<body>
    <table>
        <tr>
            <th colspan="3">课程表</th>
        </tr>
        <tr>
            <!-- 星期一表头跨2行 -->
            <th rowspan="2">星期一</th>
            <th>星期二</th>
            <th>星期三</th>
        </tr>
        <tr>
            <!-- 这一行不需要再写星期一的单元格,因为已经被上一行的rowspan合并了 -->
            <td>数学</td>
            <td>语文</td>
        </tr>
        <tr>
            <td>英语</td>
            <td>体育</td>
            <td>美术</td>
        </tr>
    </table>
</body>
</html>

上述代码中,第二行的“星期一”表头设置了rowspan="2",表示这个单元格会纵向合并接下来的2行,所以第三行的第一个单元格就不需要写了,否则会出现多余的单元格。这里要注意,被合并的行中,对应位置的单元格要删除,不能保留,否则表格的列数会不一致。

三、colspan和rowspan同时使用

实际开发中经常需要同时用到跨行和跨列合并,比如做一个学生成绩表,表头有“姓名”跨2行,“科目”跨3列,“总分”跨2行,代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>colspan和rowspan同时使用示例</title>
    <style>
        table {
            border-collapse: collapse;
            width: 400px;
        }
        th, td {
            border: 1px solid #333;
            padding: 8px;
            text-align: center;
        }
    </style>
</head>
<body>
    <table>
        <tr>
            <!-- 姓名跨2行 -->
            <th rowspan="2">姓名</th>
            <!-- 科目跨3列 -->
            <th colspan="3">科目</th>
            <!-- 总分跨2行 -->
            <th rowspan="2">总分</th>
        </tr>
        <tr>
            <!-- 这一行是科目的子表头,不需要再写姓名和总分 -->
            <th>语文</th>
            <th>数学</th>
            <th>英语</th>
        </tr>
        <tr>
            <td>张三</td>
            <td>90</td>
            <td>95</td>
            <td>88</td>
            <td>273</td>
        </tr>
        <tr>
            <td>李四</td>
            <td>85</td>
            <td>92</td>
            <td>90</td>
            <td>267</td>
        </tr>
    </table>
</body>
</html>

这个例子中,第一行的“姓名”和“总分”都设置了rowspan="2",所以这两列的单元格会跨2行,第二行就不需要再写这两个单元格;“科目”设置了colspan="3",横向合并3列,第二行刚好是这3列的子类目标头。后续的学生数据行就按照正常的列数填写即可,结构非常清晰。

四、使用注意事项

  • colspanrowspan的值必须是正整数,不能是0或者负数,否则属性无效。
  • 合并单元格后,被合并的位置不要再写对应的<td><th>,否则会导致表格列数/行数不匹配,出现布局错乱。
  • 这两个属性只能用在<td><th>标签上,其他表格相关标签不支持。
  • 如果表格使用了border-collapse: collapse样式,合并后的单元格边框会正常合并,不会出现重复边框的问题,建议表格都加上这个样式。

掌握colspanrowspan的用法后,就可以轻松实现各种复杂的HTML表格布局了,在实际开发中多练习几次就能熟练运用。

HTML表格单元格合并colspan属性rowspan属性跨行跨列 本作品最后修改时间:2026-05-22 06:39:44

免责声明:网站部分内容来源于网络或由用户自行发表,内容观点不代表本站立场。本站是个人网站免费分享,内容仅供个人学习、研究或参考使用,如内容中引用了第三方作品,其版权归原作者所有。若内容触犯了您的权益,请联系我们进行处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。前端、网络、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握网站开发与运维所需的核心技术栈。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端逻辑,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。