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

如何在Bootstrap 4的div中实现图片绝对居中?

解决Bootstrap 4.0.0-beta.3中固定高度div内图片垂直水平居中的问题

嘿,我懂你现在的烦恼——水平居中已经搞定,可垂直居中就是卡壳对吧?别慌,用Bootstrap 4自带的Flexbox工具类就能轻松解决,完全适配你用的v4.0.0-beta.3版本。

核心解决方案:借助Flex容器类实现双方向居中

Bootstrap 4本身基于Flexbox构建,我们只需要给包裹图片的父div(就是那个带border-section的div)添加几个内置类,就能同时实现垂直+水平居中,还能省去你原来的mx-auto和d-block:

  • d-flex:将容器转换为Flex布局容器
  • align-items-center:让容器内子元素沿垂直方向居中
  • justify-content-center:让容器内子元素沿水平方向居中

修改后的完整代码

<style>
.border-section { border: 2px solid #D0D0D0; margin-top: 20px; }
</style>
<div class="container">
  <div class="row">
    <div class="col-sm-3 mr-4 border-section d-flex align-items-center justify-content-center" style="height:290px">
      <img class="img-fluid" src="http://tech21info.com/admin/wp-content/uploads/2013/03/chrome-logo-200x200.png" alt="View">
    </div>
  </div>
</div>

为什么这个方法可行?

在Bootstrap 4的Flex布局体系里,d-flex会让容器的子元素默认采用Flex布局规则,align-items-center负责交叉轴(垂直方向)的居中对齐,justify-content-center负责主轴(水平方向)的居中对齐,完美覆盖了你需要的双方向居中需求,而且代码更简洁,不需要额外自定义CSS。

如果因为特殊场景不想用Flex,也可以试试绝对定位方案(但更推荐Flex方法,更贴合Bootstrap的设计思路):给父div加position-relative,给图片加position-absolute、top-50、left-50、transform-translate-middle类,不过这个方法在v4.0.0-beta.3里需要确认类名兼容性,还是Flex方案更稳妥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:06:39