css3 实现图片等比例放大与缩小

在工作中,经常会碰到图片缩放的情况,比如服务器端返回的图片大小,可能大小不同,有的大,有的小,服务器端返回的图片大小我们不能控制的,但是在我们设计稿的时候,可能会规定每张图片的大小为固定的宽度和高度,比如200px*200px这样的。我们这边使用的是背景图片来做的,

但是如果直接使用 img标签这样引入图片貌似不行,因此我们目前只能使用背景图片来做。对于大一点的图片我们可以缩放的,但是对于很小

很小的图片,我们把他们拉伸的话,可能会有点点模糊,但是一般的情况下是不会有这种情况,因为对于图片的缩放,服务器端不太可能会返回

一张很小很小的图片回来,一般都是比较大的。

1. 等比例缩放(1:1)

我们先来看看实现图片等比例缩放的情况下:

html代码如下:

css代码如下:

.demo1-1 {

float: left;

width: 200px;

height: 200px;

overflow: hidden;

}

.zoomImage {

width: 100%;

height: 0;

padding-top: 100%;

overflow: hidden;

background-position: center center;

background-repeat: no-repeat;

background-size: cover;

-webkit-background-size: cover;

-moz-background-size: cover;

}

如上代码就可以实现了。下面是简单的代码分析一下实现方式:

1-1 在父容器div.demo1-1中,定义容器显示的大小为 200px*200px;这个就是我们设计稿中显示的大小。

1-2 对于图片的div先设置如下样式:

width: 100%;

height: 0;

padding-top: 100%;

overflow: hidden;

如上代码height虽然设置为0,但是padding-top设置了100%,并且宽度width:100%, 高度div是按照1:1的方式来实现的。

至于为什么需要使用padding-top来实现 ,可以看我这篇文章

下面如下样式:

background-position: center center;

background-repeat: no-repeat;

background-size: cover;

-webkit-background-size: cover;

-moz-background-size: cover;

是让背景图片居中显示,并且不重复,且背景大小覆盖整个容器就可以了;

下面是所有的代码了:

Document

.demo {

width: 100%;

height: 300px;

overflow: hidden;

}

.demo1-1 {

float: left;

width: 200px;

height: 200px;

}

.zoomImage, .zoomImage2, .zoomImage3{

width: 100%;

height: 0;

padding-top: 100%;

overflow: hidden;

background-position: center center;

background-repeat: no-repeat;

background-size: cover;

-webkit-background-size: cover;

-moz-background-size: cover;

}

.zoomImage2 {

padding-top: 75%;

}

.zoomImage3 {

padding-top: 133.33%;

}

第一张图片633*950,第二张图片1280*800,第三张图片100*100

对上面的三张图片的宽和高分别等比例缩放到200*200像素(1:1)

对上面的三张图片的宽和高进行4:3的缩放

对上面的三张图片的宽和高进行3:4的缩放

作者:龙恩0707

css固定图片大小 vue_css3 实现图片等比例放大与缩小相关推荐

  1. [css] 如何让大小不同的图片等比缩放不变形显示在固定大小的div里?写个例子

    [css] 如何让大小不同的图片等比缩放不变形显示在固定大小的div里?写个例子 图片等比缩放 img{ object-fit: cover/contain;}div宽高比例固定,跟随屏幕变化而变化, ...

  2. jquery实现上传图片及图片大小验证、图片预览效果代码

    jquery实现上传图片及图片大小验证.图片预览效果代码 jquery实现上传图片及图片大小验证.图片预览效果代码 上传图片验证 */ function submit_upload_picture() ...

  3. 批量处理图形大小如何更改图片大小尺寸修改图片视频教程ps学习ps教程ps基础新教程

    批量处理图形大小如何更改图片大小尺寸修改图片视频教程ps学习ps教程ps基础新教程

  4. JAVA改变图片大小,将图片改为Jpg格式

    JAVA改变图片大小,将图片改为Jpg格式 package util;import javax.imageio.ImageIO; import java.awt.*; import java.awt. ...

  5. 视频直播源码,插入图片、删除图片、设置图片大小、提取图片

    视频直播源码,插入图片.删除图片.设置图片大小.提取图片 1.插入图片 Document对象有一个add_paragraph()方法插入图片,只需要传入路径或者字节流即可,实际上它也是调用段落的Run ...

  6. 图片大小自动按比例缩小图片不变形 解决方法

    图片大小自动按比例缩小图片不变形 解决方法 参考文章: (1)图片大小自动按比例缩小图片不变形 解决方法 (2)https://www.cnblogs.com/liujunchen/p/7598649 ...

  7. 怎么用js改变html里面的图片大小,网页中图片属性固定宽度,如何用js改变大小...

    后台上传图片后,都有一个图片属性,会指定图片的宽和高,如果图片固定了宽度和高度,PC端用max-width可以控制最大宽度,高度自动缩放.但是手机端就没法自动缩放,可以使用js来改变图片的style, ...

  8. 神经网络输入图片大小,神经网络提取图片特征

    BP神经网络输入输出格式问题 在你的代码基础上说了.clc;clear;closeall;p=load('');%你问题最后说的数据文件名跟这个不同. p1=p';t=[1];%这个输出(Target ...

  9. java验证图片大小_java 校验图片的大小、尺寸、比例

    import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.i ...

最新文章

  1. KingShard MySQL中间件快速入门
  2. cmd编译java命令_使用CMD命令编译执行java命令
  3. 如何优雅的解决mac安装zsh不执行.bash_profile
  4. 第九届蓝桥杯java B组—第六题递增三元组(详细介绍)
  5. 第97课 寻找亲密数对_例97.1 《小学生C++编程入门》
  6. 一个人的旅行 图论最短路问题
  7. python input函数无法输入字符串_python input输入函数
  8. 数据结构与算法的分析
  9. 答非所问:产品质量怎样?发现了很多BUG
  10. 计算机主机技术标准规范,B级机房技术规范要求
  11. DCSTFN(使用深度卷积网络融合高时空遥感图像)
  12. java openxml word_OpenXml读取word内容的实例
  13. 《动手学深度学习》(PyTorch版)代码注释 - 54 【Text_sentiment_classification(RNN)】
  14. 如何给VS2015安装MSDN本地帮助文档 - 完整教程
  15. 公主连结显示服务器内部错误,公主连结Re:Dive无法连接服务器是什么原因
  16. 微软表示今年员工不要参与愚人节活动!怕玩笑过大得不偿失
  17. 2021年T电梯修理考试及T电梯修理考试总结
  18. 2017-2018年QS世界大学计算机科学及信息系统专业排名
  19. linux 目录 语法.,linux常用命令总结
  20. pytorch找不到显卡

热门文章

  1. python抓取数据包_python抓数据包
  2. WIN10系统ThinkPad S5 3D摄像头终极解决方案(实感深度摄像头)
  3. 6-vulnhub靶场-LordOfTheRoot_1.0.1靶机内核提权udf提权缓冲区溢出提权
  4. iOS APP 运行时防Crash工具XXShield练就
  5. 为Linux内核text段计算SHA1摘要以检测篡改
  6. 如何在python中获得当前时间前几天的日期
  7. 设计师:设计师知识储备之硬装部分/软装部分简介、家装材料知识(吊顶材料/门窗材料/五金材料/墙面材料/地面材料/胶粘材料/油漆材料/水电材料/瓦工部分)之详细攻略
  8. Thinkphp3.2(tp3.2) sql语句表达式查询字符列表【eq,neq,gt,egt,lt,elt,in,between,like,exp】
  9. 请设置注册表项HKLMSoftwareMicrosoft.NETFrameworkInstallRoot,指向.NET Framework安装位置(写给我自己备份的免得以后找不到)
  10. qq邮箱smtp服务器imap,如何配置电子邮件客户端使用IMAP(QQ邮箱账户) 你需要学习了...