You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

colspan属性不生效求助:嵌套表格无法跨4列显示

解决colspan嵌套表格显示异常问题

嘿,我仔细看了你的代码和遇到的问题,其实不是colspan的用法有误,而是嵌套的子表格没有设置宽度导致的!

你已经给父表格的<td>设置了colspan="4",这个单元格确实已经占据了4列的位置,但里面的子表格默认只会根据自身内容的宽度来显示,不会自动填满整个跨列的单元格,所以看起来就像只挤在第一列里了。

解决方法很简单:

给嵌套的子表格添加width:100%的样式,让它撑满整个父单元格的宽度。

修改后的代码片段:

<table>
  <tr>
    <th>Phasen Name</th>
    <th>Planned Value</th>
    <th>Actual Cost</th>
    <th>Earned Value</th>
  </tr>
  <th:block th:each="eintrag : ${evaPhasen}">
    <tr>
      <td class="accordion" th:text="${eintrag.key}"></td>
      <td th:text="${eintrag.value.getPlannedValue()}"></td>
      <td th:text="${eintrag.value.getActualCost()}"></td>
      <td th:text="${eintrag.value.getEarnedValue()}"></td>
    </tr>
    <tr style="display:none">
      <td colspan="4">
        <!-- 给子表格添加width:100%样式,让它填满父单元格 -->
        <table style="width:100%">
          <tr>
            <th>Workpackage Name</th>
            <th>Planned Value</th>
            <th>Actual Cost</th>
            <th>Earned Value</th>
          </tr>
          <tr th:each="wpDetail : ${evaWP}">
            <td class="accordion" th:text="${wpDetail.key}"></td>
            <td th:text="${wpDetail.value.getPlannedValue()}"></td>
            <td th:text="${wpDetail.value.getActualCost()}"></td>
            <td th:text="${wpDetail.value.getEarnedValue()}"></td>
          </tr>
        </table>
      </td>
    </tr>
  </th:block>
</table>

补充说明:

如果你的父表格设置了固定列宽,可能还需要调整子表格的列宽分配,但大多数情况下,给子表格加上width:100%就能解决你当前遇到的问题了。

内容的提问来源于stack exchange,提问作者Manuel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:44:26