固定大小容器内,不同比例的图片高度撑满,宽度居中裁剪

在一个商品展示列表中,一个需求是在一个正方形的方块中,按原比例展示商品图片,但是图片比例不定,需要居中显示,高度撑满,宽度多余的隐藏

结构:

imgOuter是固定容器,宽高都是120px;

CSS代码:

复制代码
.imgOuter{
  width: 120px;
  height: 120px;
  border-radius: 10px;
  overflow: hidden;
  border: 1Px solid #d7d7d7;
position: relative;
z-index: 1; }
复制代码

img居中显示的CSS,由于宽度不定,所以使用了transfrom的translate,思路来源于网上的某个文章,但是找不到出处了:

.imgWH{
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

需要注意imgOuter中的z-index:1,在img上使用transform后,imgOuter如果不设置z-index,那么它的overflow:hidden将会失效。来源于:

KevinYue----https://segmentfault.com/q/1010000005174964/a-1020000005175107

最终结果:

图片被居中显示,高度撑满,并两边裁剪掉了多余的宽度。

posted @   ZhangCui  阅读(1456)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示