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

如何在Flex容器的子div中垂直居中图片?

解决Flex容器子div中图片垂直居中的问题

嘿,别担心,这绝对是前端新手常遇到的小问题,很容易搞定!咱们一步步来调整你的代码:

问题根源

你现在的.our_clients_grid_item是普通块级元素,里面的图片设置margin: auto只能实现水平居中,垂直方向因为父元素没有启用Flex布局,所以没法自动对齐。

解决方案

只需要给.our_clients_grid_item添加Flex布局属性,让它内部的图片能利用Flex的居中能力:

修改后的CSS代码

.our_clients { 
  width:100%; 
  height:800px; 
  background-color:#3D3D3D; 
  text-align:center; 
} 
.our_clients h3 { 
  color:#FFFFFF; 
  font-size:20px; 
  padding-top:75px; 
} 
.our_clients_auchan { 
  max-width: 131px; 
  max-height: 65px; 
  opacity: 0.1; 
} 
.our_clients_auchan:hover{ 
  opacity:1; 
} 
.our_clients_grid_item { 
  width: 132px; 
  height: 66px; 
  /* background-color: red; */ 
  margin: 14px; 
  /* 添加以下Flex属性实现内部居中 */
  display: flex;
  align-items: center; /* 垂直居中 */
  justify-content: center; /* 水平居中 */
  /* position: relative;  如果没用到绝对定位可以去掉 */
} 
.our_clients_container { 
  width: 50%; 
  height: 600px; 
  display: flex; 
  justify-content: center; 
  flex-wrap: wrap; 
  margin: auto; 
  align-content: flex-start; 
} 
/* 可以去掉这行,Flex布局已经帮我们完成居中了 */
/* .our_clients_grid_item img { margin: auto; } */

为什么这样有效?

  • 当.our_clients_grid_item设置为display: flex后,它就变成了Flex容器,内部的图片会自动成为Flex项目。
  • align-items: center会让Flex项目在**交叉轴(垂直方向)**上居中对齐。
  • justify-content: center会让Flex项目在**主轴(水平方向)**上居中对齐,比margin: auto的方式更稳定可靠。

这样修改后,所有logo都会在各自的格子里完美垂直水平居中,同时保留你设置的max-width和max-height限制,hover时的透明度变化也完全不受影响~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 17:47:29