HTML&CSS 高级表格 合并单元格

本文展示了如何在 HTML 中使用 rowspan 和 colspan 属性来合并单元格,通过一个具体的例子来说明其应用。

有时,需要合并单元格,即有的元素占用两行,有的元素占用两列。这时,用到了以下XHTML属性:

rowspan

colspan

一个简单的例子:

HTML代码如下:

<table>
      <tr>
        <th rowspan="2">Date</th>
        <th colspan="2">Event Details</th>
        <th rowspan="2">Contact</th>
      </tr>
      <tr>
        <th>Event Description</th>
        <th>Approximate Cost</th>
      </tr>
      <tr>
        <td>12 July</td>
        <td>Committee meeting, deciding on next year's trips</td>
        <td>N/A</td>
        <td>Bob Dobalina</td>
      </tr>
      <tr>
        <td>19 July</td>
        <td>7-day trip to Hurghada (package deal) - limited spaces</td>
        <td>£260 pp (all inclusive), departing Luton</td>
        <td>Bob Dobalina</td>
      </tr>
      <tr>
        <td>5 August</td>
        <td>Ocean & Sports Diver Theory Course</td>
        <td>Call for details</td>
        <td>Jeff Edgely</td>
      </tr>
      <tr>
        <td>12 August</td>
        <td>Murder Mystery Weekend, Cotswolds (no diving!)</td>
        <td>£65 pp (accommodation included)</td>
        <td>Jill Smith</td>
      </tr>
    </table>



CSS代码如下:

table {
        border-collapse: collapse;   
        border: 1px solid black; 
      }  
      th {
        text-align: left;
        border: 1px solid black;
        padding: 0.2em;
      }
      td {
        border: 1px solid black;
        padding: 0.2em;
      }



CSS 中实现表格单元的合并,主要是通过 HTML 中的 `rowspan` 和 `colspan` 属性来完成的,而不是直接使用 CSS。这两个属性允许单元跨越多行或多列,从而达到合并单元的效果。 ### 使用 `colspan` 合并列 `colspan` 属性用于指定一个单元应该跨越多少列。例如,如果希望某个单元占据两列,则可以设置 `colspan="2"`。 ```html <table border="1"> <tr> <td colspan="2" style="text-align: center;">合并两列的单元</td> </tr> <tr> <td>第一列</td> <td>第二列</td> </tr> </table> ``` ### 使用 `rowspan` 合并行 `rowspan` 属性用于指定一个单元应该跨越多少行。例如,如果希望某个单元占据两行,则可以设置 `rowspan="2"`。 ```html <table border="1"> <tr> <td rowspan="2" style="text-align: center;">合并两行的单元</td> <td>第一行</td> </tr> <tr> <td>第二行</td> </tr> </table> ``` ### 同时合并行和列 有时可能需要同时合并行和列。在这种情况下,可以在同一个单元中同时使用 `rowspan` 和 `colspan` 属性。 ```html <table border="1"> <tr> <td rowspan="2" colspan="2" style="text-align: center;">同时合并两行和两列的单元</td> <td>第一行</td> </tr> <tr> <td>第二行</td> </tr> </table> ``` ### 注意事项 - **合并单元不能跨过表格结构标签合并**:例如,不能从 `<thead>` 跨越到 `<tbody>`。 - **居中显示**:可以通过 `style="text-align: center;"` 来实现单元内容的水平居中[^1]。 ### 示例:购物车订单列表 假设有一个购物车订单列表,需要合并某些单元以显示商品信息。 ```html <table border="1"> <thead> <tr> <th>商品名称</th> <th>数量</th> <th>单价</th> <th>总价</th> </tr> </thead> <tbody> <tr> <td rowspan="2" style="text-align: center;">商品A</td> <td>2</td> <td>100元</td> <td>200元</td> </tr> <tr> <td>3</td> <td>150元</td> <td>450元</td> </tr> </tbody> </table> ``` 通过上述方法,可以轻松实现表格单元的合并,满足不同的布局需求。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值