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

如何在Bootstrap中将卡片内容垂直对齐至底部?

解决Bootstrap卡片图片覆盖层元素居底问题

你需要让卡片的图片覆盖层(card-img-overlay)内的标题、文本和按钮对齐到卡片底部,之前尝试的flex布局没达到预期,可通过以下两种方式解决:

方案一:整体内容靠底部对齐

直接给card-img-overlay添加d-flex flex-column justify-content-end类,利用Bootstrap的flex工具类让所有子元素整体对齐到容器底部:

<div class="container">
  <div class="row row-cols-1 row-cols-md-2 g-3 my-3">
    <div class="col">
      <div class="card text-uppercase">
        <img src="/../../assets/img/Affiliate_1fdd38b1-d99f-4d5a-b1ee-c4d30397dd2c_643x450.webp" class="card-img" alt="...">
        <div class="card-img-overlay d-flex flex-column justify-content-end">
          <h5 class="card-title">FUNCIONAL</h5>
          <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    </div>
    <div class="col">
      <div class="card text-uppercase">
        <img src="/../../assets/img/Affiliate_1fdd38b1-d99f-4d5a-b1ee-c4d30397dd2c_643x450.webp" class="card-img" alt="...">
        <div class="card-img-overlay d-flex flex-column justify-content-end">
          <h5 class="card-title">FUNCIONAL</h5>
          <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    </div>
    <div class="col">
      <div class="card text-uppercase">
        <img src="/../../assets/img/Affiliate_1fdd38b1-d99f-4d5a-b1ee-c4d30397dd2c_643x450.webp" class="card-img" alt="...">
        <div class="card-img-overlay d-flex flex-column justify-content-end">
          <h5 class="card-title">FUNCIONAL</h5>
          <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    </div>
    <div class="col">
      <div class="card text-uppercase text-bg-dark">
        <img src="/../../assets/img/Affiliate_1fdd38b1-d99f-4d5a-b1ee-c4d30397dd2c_643x450.webp" class="card-img" alt="...">
        <div class="card-img-overlay d-flex flex-column justify-content-end">
          <h5 class="card-title">FUNCIONAL</h5>
          <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    </div>
  </div>
</div>

方案二:标题文本在上,按钮单独靠底

如果希望标题和文本保持在上方,仅让按钮自动对齐到底部,给card-img-overlay添加d-flex flex-column,同时给按钮添加mt-auto(自动margin顶推到底部),可配合mb-*类给文本和标题设置间距:

<div class="container">
  <div class="row row-cols-1 row-cols-md-2 g-3 my-3">
    <div class="col">
      <div class="card text-uppercase">
        <img src="/../../assets/img/Affiliate_1fdd38b1-d99f-4d5a-b1ee-c4d30397dd2c_643x450.webp" class="card-img" alt="...">
        <div class="card-img-overlay d-flex flex-column">
          <h5 class="card-title mb-2">FUNCIONAL</h5>
          <p class="card-text mb-4">This is a longer card with supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary mt-auto">Go somewhere</a>
        </div>
      </div>
    </div>
    <!-- 其余卡片按相同方式修改 -->
  </div>
</div>

注意事项

  • 确保没有自定义CSS覆盖Bootstrap的flex工具类样式;
  • card-img-overlay默认是绝对定位且占满卡片高度,无需额外设置高度;
  • 若使用方案二,mt-auto仅在flex容器内生效,必须保证card-img-overlay已添加d-flex flex-column。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 13:51:30