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

如何让设置100%高度的HTML table将多余高度均匀分配给各行

实现表格剩余高度均匀分配给每行的方案

可以实现,仅通过CSS调整即可满足需求,不需要引入JavaScript逻辑。

核心调整点

  • 给table元素添加table-layout: fixed属性,开启表格固定布局模式,替换默认的内容优先的自动布局规则
  • 给所有tr设置统一的高度占比:固定行数时直接设置对应百分比即可,行数动态不确定时设置height: 1%也能实现自动均分效果

修改后的完整代码

CSS部分

#parent {
  height: 800px;
}

table {
  height: 100%;
  /* 固定布局模式下建议明确设置表格宽度,避免单元格宽度计算异常 */
  width: 100%;
  table-layout: fixed;
}

td {
  border: 1px solid black;
  vertical-align: top;
}

tr {
  /* 4行固定时设置25%,动态行数替换为 height: 1% 即可 */
  height: 25%;
}

HTML部分(无需修改,和原有代码一致)

<div id="parent">
  <table>
    <tr><td> 1) Single Line</td></tr>
    <tr><td> 2) Four<br>Lines<br>of<br>Text</td></tr>
    <tr><td><!--empty cell--></td></tr>
    <tr><td> 4) Two<br>Lines</td></tr>
  </table>
</div>

效果说明

默认自动布局模式下,表格的剩余高度会优先分配给内容高度更高的行,空行几乎分配不到多余空间。开启固定布局后,表格会先保证每行的高度不小于自身内容的最小展示高度,剩下的多余高度会完全均匀分配给每一行,完全符合你举例的场景:总高多出100px时,4行每行各额外增加25px高度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:27:04