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

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

结构:

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

最终结果:

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

时间: 2024-08-09 09:36:33

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

[前端]如何让图片等比例缩放,同时撑满父级容器的长或宽

[前端]如何让图片等比例缩放,同时撑满父级容器的长或宽 最近碰到一个问题,如何在一个容器里同时放一张图片,而这张图片会等比例缩放,长或宽会跟着父级容器的长或宽一致. 找了一段时间,发现了 css3 中有这个属性: object-fit: contain; 具体怎么使用:见这篇文章 半深入理解CSS3 object-position/object-fit属性 完 原文地址:https://www.cnblogs.com/htoooth/p/8676274.html

jQuery 判断终端是IOS还是Android / jQuery处理背景图片不能撑满屏幕

判断终端并对相应的终端进行不同处理方法(函数) $("#btn_download").click(function () { var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 $(&

容器内两部分,一部分固定宽度,一部分宽度自适应占满剩余位置

<div class='container'}> <div class='child1'/> <div class='child2'/> </div> 上面是html代码 方法一:flex .container { display:flex; .child1 { flex:1: } .child2 { width: 200px; } } 方法二:c3计算属性 .container { .child1 { width: clac(100% - 200px);

任意大小的图片垂直水平居中与一个固定大小的容器中

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>无标题文档</title> <style type="text/css"> *{ margin:0; padding:0;} .fl{ float:left; width:100px; height:100px; background:green} .nofl{

div css布局中CSS图片大小自动按比例等比例缩小图片不变形解决技巧(转)

在DIV CSS布局中对于图片列表或图片排版时,图片不是固定宽度高度大小,但图片占位是固定宽度高度,这个时候如果使用CSS固定死图片大小(宽度 高度),这个时候如果图片相对于这个位置不是等比例大小,那么这张图片就会变形,让图片变的不清晰,这个时候想让图片不变形又按比例缩放,如何解决?CSS图片缩小不变形,图片自动缩小,图片按比例等比例缩小不变形解决. 解决方法有两种: 第一种,让图片和布局宽度高度成等比例,这样CSS设置死宽度和高度,图片也是等比例缩小,图片也不会变形. 比如淘宝,要求店铺主上传

问题:如何在固定大小的DIV层插入N多个图片

这是贴友问的一个问题,具体需求是: 如何在固定大小的DIV层插入N多个图片,使其一行排列,超出层宽时出现滑动条? 原以为利用overflow属性可以实现,但是测试失败.后来利用div层叠实现了效果. HTML代码: 1: <!-- 如何在固定大小的DIV层插入N多个图片,使其一行排列,超出层宽时出现滑动条? --> 2: <!DOCTYPE html> 3: <html> 4: <head> 5: <meta http-equiv="cont

动态等比例调整图片大小的jQuery代码

动态等比例调整图片大小的jQuery代码:有时候图片的大小和尺寸是位置,如果上传后,任由其自然伸展,很有可能导致网页变形,所以要认为的控制图片的尺寸,当然也不能够太粗暴,直接定死图片的尺寸,这样可能会导致图片变形,所以要进行等比例缩放,下面就是一段能够实现此功能的代码.代码如下: <script type="text/javascript"> jQuery(window).load(function(){ jQuery("div.product_info img&

QT以QImag显示图片并且以固定大小放缩后显示

QImage image; image.load(fileName);//fileName为图片的路径 QImage result = image.scaled(800, 600).scaled(120, 180, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);//放缩图片,以固定大小显示 ImageLabel->setPixmap(QPixmap::fromImage(result));//在Label控件上显示图片

word使用宏命令批量按比例设置图片大小

1,单击文件 2. 3.如下图,最后确定 4.如图 5.在弹出框中点击创建, 6.将宏命令copy到命令窗口中并点击运行即可,也无需保存 注意,n需要替换为实际值:如15 代码中单位厘米 (1)设置固定大小n厘米: Sub resetImgSize() Dim iShape As InlineShape For Each iShape In ActiveDocument.InlineShapes iShape.LockAspectRatio = msoTrue iShape.Height = C