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

如何让两个div高度匹配更高元素(React+React Bootstrap场景)

解决方案

实现思路

React Bootstrap 的 Row 组件默认使用flex布局,默认情况下同行的所有Col高度会自动对齐到最高子元素的高度,我们可以直接复用这个特性实现需求,无需额外写JS监听元素高度。

具体修改步骤

  • 给外层Row添加align-items-stretch类(Bootstrap内置工具类),确保两个列高度完全一致
  • 给图片所在的Col设置相对定位,同时添加你需要的最小高度限制
  • 给img标签设置绝对定位,宽高占满父级Col,用object-fit控制图片适配规则避免变形

修改后的JSX代码

<Row className={[stylesParagraph.pardiv, stylesParagraph.bodyWidth, 'align-items-stretch']}>
        
        <Col className={stylesParagraph.baseCol} xs={12} sm={12} md={12} lg={{span:12  , order:props.order}} xl={6} >
          <div className={stylesParagraph.par}>
           {/*  <h2 className={ stylesParagraph.title}>{props.title}</h2> */}
           <p className={stylesParagraph.paragraph}>{props.text}</p> 
          </div>
        </Col>
        <Col className={[stylesParagraph.imgCol, stylesParagraph.imgWrapper]} xs={12} sm={12} md={12} lg={12} xl={6}>
          <img
            className={stylesParagraph.img}
            src={props.img}
            alt=""
          />
        </Col>
      </Row>

配套CSS(对应你的stylesParagraph模块)

/* 图片外层Col的样式 */
.imgWrapper {
  position: relative;
  min-height: 240px; /* 此处替换为你需要的最小高度数值 */
}

/* 图片样式 */
.img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* 自适应填满容器、不变形,超出部分裁剪;如果要完整显示图片可改为contain */
  object-fit: cover;
}

效果说明

  • 当文本列高度大于你设置的最小高度时,图片列高度会自动和文本列对齐,图片高度与段落完全一致
  • 当文本列高度小于你设置的最小高度时,图片列会优先使用你设置的最小高度,满足最小高度限制
  • 如果你的项目禁用了Bootstrap工具类,也可以直接给外层Row添加CSS样式align-items: stretch,效果完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:24:03