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

CSS Flex布局下如何对齐不同高度项实现图标居中、文本等高?

问题根因

两个.benefits_item分别处于独立的栅格列容器内,各自高度由内部内容撑开,长文本项高度更高、短文本项高度更矮,因此两个文本区域无法保持统一高度。你当前给.benefits_item设置的align-items: center只能让单个item内部的图标和文本垂直居中,无法解决跨列的高度统一问题。

实现方案

不需要修改现有HTML结构,仅调整CSS即可实现需求,推荐使用第一种方案,灵活性更高:

方案1:等高栅格实现(推荐)

利用Bootstrap栅格row默认的flex特性,让两个栅格列保持等高,再让内部的item撑满列高度即可:

/* 新增:让栅格列成为flex容器,撑满row高度 */
.row .col-md-6 {
  display: flex;
}

.benefits .benefits_item {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 35px;
  min-height: 150px;
  width: 100%;
  height: 100%; /* 撑满栅格列高度,两个item自动对齐到最高项的高度 */
}

.benefits .benefits_item .benefits_round {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 25px;
  flex-shrink: 0; /* 防止长文本挤压圆形图标导致变形 */
  width: 116px;
  height: 116px;
  background: #1EACC7;
  border-radius: 50%;
}

.benefits .benefits_item .benefits_descr {
  width: 370px;
  max-width: 100%; /* 小屏幕下适配,避免文本溢出 */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-size: 15px;
  color: #202020;
}

.benefits .benefits_item .benefits_descr span {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-size: 17px;
  line-height: 25px;
  color: #1EACC7;
}

该方案下,两个item会自动适配最高内容的高度,图标始终保持垂直居中,后续文本长度变化不需要手动调整高度值。

方案2:固定文本区最小高度

如果不想调整栅格默认样式,可以直接给文本区域设置匹配最长文本的最小高度,强制统一高度:

.benefits .benefits_item .benefits_descr {
  width: 370px;
  min-height: 120px; /* 该值根据实际最长文本的渲染高度调整即可 */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-size: 15px;
  color: #202020;
}

该方案改动量最小,但后续如果文本内容长度调整,需要同步修改min-height值,灵活性较差。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 21:57:16