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

嵌套表格列无法占满100%高度的问题排查

解决表格嵌套列无法占满行高的问题

问题原因

  • 嵌套的innerTable默认不会自动填充父级<td>的高度,父级<td>也未设置强制内部元素撑满高度的样式
  • 你给.fulfillmentLine td设置了固定height:100px,这会限制单元格高度,无法自适应左侧列的内容高度
  • 表格单元格默认vertical-align: baseline,导致内部嵌套表格不会垂直拉伸

修复方案

  1. 移除固定高度限制
    删掉.fulfillmentLine td中的height:100px,让单元格高度随左侧内容自适应。

  2. 让父级<td>占满整行高度
    修改.fulfillmentLine的CSS:

.fulfillmentLine {
    border-bottom: 1px solid black;
    border-left: 1px solid black;
    height: 100%;
    vertical-align: top;
}
  1. 让嵌套表格占满父容器
    更新.innerTable的CSS,确保它填满父级<td>的宽高:
.innerTable {
    padding: 0;
    font-size: 20px;
    width: 100%;
    height: 100%;
    display: table;
}
.innerTable td {
    height: 100%;
}
  1. 修正HTML结构错误
    删除原代码中多余的</div>和</table>标签,避免结构异常影响渲染。

修改后的完整代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Table</title>
    <style>
        .innerTable {
            padding: 0;
            font-size: 20px;
            width: 100%;
            height: 100%;
            display: table;
        }
        .innerTable td {
            height: 100%;
        }

        .orderLine {
            width: 130px;
            padding: 3px;
            border-left: 1px solid black;
            border-bottom: 1px solid black;
        }

        .fulfillmentLine {
            border-bottom: 1px solid black;
            border-left: 1px solid black;
            height: 100%;
            vertical-align: top;
        }

        .fulfillmentLine td {
            width: 50px;
            border-right: 1px solid black;
        }

        .orderLineEnd {
            border-left: 1px solid black;
        }

        .borderRight {
            border-right: 1px solid black;
        }

        .orderLineHeader {
            width: 130px;
            padding: 3px;
            border-left: 1px solid black;
            border-top: 1px solid black;
            border-bottom: 1px solid black;
        }

        .fulfillmentLineHeader {
            width: 130px;
            border-top: 1px solid black;
            border-left: 1px solid black;
            border-bottom: 1px solid black;
        }

        .fulfillmentLineHeader td {
            border-top: 1px solid black;
            border-right: 1px solid black;
            text-align: center;
            min-width: 45px;
        }

        .bottomBorder {
            width: 100%;
            height: 1px;
            border-top: 1px solid black;
        }

        .itemName {
            width: 300px;
        }
    </style>
</head>

<body>
    <table class="bodySection o" cellpadding="0" cellspacing="0" border="0">
        <tr class="orderHeaders">
            <td class="orderLineHeader">Description</td>
            <td class="fulfillmentLineHeader borderRight" align="center">
                <table cellspacing="0" cellpadding="0" class="innerTable" border="0">
                    <td class="borderRightThick">ABC </td>
                    <td class="borderRightThick lightGreyRow">ABC</td>
                    <td class="borderRightThick">ABC</td>
                </table>
            </td>
        </tr>

        <tr style="page-break-inside : avoid">
            <td class="orderLine itemName">Lorem ipsum loremLorem ipsum loremLorem ipsum Lorem ipsum loremLorem ipsum
                loremLorem ipsum loremLorem ipsum loremLorem ipsum loremLorem ipsum loremLorem ipsum loremloremLorem
                ipsum loremLorem ipsum lorem</td>
            <td class="fulfillmentLine borderRight">
                <table cellspacing="0" class="innerTable ">
                    <td></td>
                    <td></td>
                    <td></td>
                </table>
            </td>
        </tr>
    </table>
    <br />
</body>
</html>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 10:52:09