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

HTML表格最后一行添加子行使用span标签行高不生效如何解决

你当前出现行高无法自适应的核心原因是,给承载驳回理由的span设置了position: absolute,绝对定位元素会脱离正常文档流,父级<td>和<tr>计算高度时不会把该元素的尺寸纳入统计,自然不会跟随内容撑开高度。

方案1:移除绝对定位,改造当前结构(改造成本最低)

直接把驳回理由放在正常文档流中,添加上边框实现分割线效果,高度会自动适配内容,修改后代码参考:

<tr>
    <td class="semi-bold">2017</td>
    <td class="semi-bold">
        Montant principal : 700,00<br>
        Pénalité : 0<br>
        Majoration de retard : 100
    </td>
    <td class="semi-bold">Peugeot</td>
    <td class="semi-bold">000000B1</td>
    <td class="semi-bold">8 CV</td>
    <td class="semi-bold">800,00</td>
    <td class="semi-bold">
        <span class="state">
            <i class="state-suspended"></i>Rejeté
        </span>
        <!-- 移除绝对定位,添加上边框样式替代hr -->
        <div style="border-top: 1px solid #eee; margin-top: 8px; padding-top: 8px;">
            Motif de rejet : Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor.
        </div>
    </td>
</tr>

方案2:用rowspan实现语义化独立子行(结构更规范)

如果需要视觉上完全是独立子行的效果,可以通过单元格跨行属性实现,适配性更强:

<tr>
    <!-- 前面6个td设置跨行2行 -->
    <td class="semi-bold" rowspan="2">2017</td>
    <td class="semi-bold" rowspan="2">
        Montant principal : 700,00<br>
        Pénalité : 0<br>
        Majoration de retard : 100
    </td>
    <td class="semi-bold" rowspan="2">Peugeot</td>
    <td class="semi-bold" rowspan="2">000000B1</td>
    <td class="semi-bold" rowspan="2">8 CV</td>
    <td class="semi-bold" rowspan="2">800,00</td>
    <td class="semi-bold">
        <span class="state">
            <i class="state-suspended"></i>Rejeté
        </span>
    </td>
</tr>
<tr>
    <!-- 新增子行,只有最后一个td,其他位置被上面的跨行单元格占用 -->
    <td>
        Motif de rejet : Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor.
    </td>
</tr>

实现效果参考:
实现效果示例图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:06:02