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

Bootstrap5中实现列等高并阻止子元素撑大父元素求助

问题描述

我希望在Bootstrap 5中让第二列与第一列保持等高,但当前第二列的子元素内容超出初始尺寸时,会撑大父div,进而拉长页面内容。我的代码如下:

<div className="row g-2">
    <div className="col-md-5">
        <div className='border border-primary border-4 bg-secondary' style={{ height: 400 + "px" }}></div>
    </div>
    <div className="col-md-7">
        <div className='border border-primary border-4 bg-dark p-2 h-100 overflow-auto'>
            <div className="bg-danger" style={{ height: 800 + "px" }}>
                <span className="text-white fs-1">Hello World </span>
            </div>
        </div>
    </div>
</div>

当前问题:第二列因内部高内容被撑长,超过第一列的400px高度
期望效果:第二列高度与第一列保持一致(400px),内部超出内容通过滚动条查看

解决方案

核心是给第二列的父容器(col-md-7)设置固定高度,让内部的滚动容器基于这个高度填充,避免被内容撑大。

修改后的代码

<div className="row g-2">
    <div className="col-md-5">
        <div className='border border-primary border-4 bg-secondary' style={{ height: "400px" }}></div>
    </div>
    <div className="col-md-7" style={{ height: "400px" }}>
        <div className='border border-primary border-4 bg-dark p-2 h-100 overflow-auto'>
            <div className="bg-danger" style={{ height: "800px" }}>
                <span className="text-white fs-1">Hello World </span>
            </div>
        </div>
    </div>
</div>

灵活优化方案(用CSS变量)

如果不想硬写400px,可以用CSS变量统一控制高度,方便后续修改:

<div className="row g-2">
    <div className="col-md-5">
        <div className='border border-primary border-4 bg-secondary' style={{ height: "400px", "--col-height": "400px" }}></div>
    </div>
    <div className="col-md-7" style={{ height: "var(--col-height)" }}>
        <div className='border border-primary border-4 bg-dark p-2 h-100 overflow-auto'>
            <div className="bg-danger" style={{ height: "800px" }}>
                <span className="text-white fs-1">Hello World </span>
            </div>
        </div>
    </div>
</div>

原理说明

之前的代码中,h-100是让元素高度等于父元素的100%,但col-md-7默认没有固定高度,会被内部内容撑开,导致h-100跟着内容变高。给col-md-7设置固定高度后,内部的滚动容器就能填满这个高度,超出的内容通过overflow-auto生成滚动条,不会再撑大父元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:05:37