CSS3-图片显示固定大小不压缩、不变形-object-fit:
广告:
实现让长方形图片显示出正方形且不变形的效果的效果,一般可以有2种方式来实现,一种是设置为背景图,另一种是用img标签。
一、背景图
background-size: cover; background: url("images/1.jpeg") no-repeat center;
说明:
简单介绍一下background-size:
background-size: contain; 自动调整缩放比例,保证图片始终 完整 的显示在背景区域,不裁剪图片
background-size: cover; 对图片进行等比缩放,如有溢出部分则会被裁剪隐藏
二、img标签
很多时候需要将后端返回的图片显示成正方形且不变形,我们会使用img标签,主要通过css的object-fit属性来实现。
.img{
width:500px;
height: 500px;
object-fit: cover;
flex: 1;
/*兼容ie8 ie9 ie11 */
height:auto\9;
max-height:500px\9;
vertical-align: middle;
}
<img src="images/1.jpeg" class="img">
说明:object-fit: fill|contain|cover|scale-down|none|initial|inherit;
fill 默认,不保证保持原有的比例,内容拉伸填充整个内容容器。 尝试一下 »
contain 保持原有尺寸比例。内容被缩放。 尝试一下 »
cover 保持原有尺寸比例。但部分内容可能被剪切。 尝试一下 »
none 保留原有元素内容的长度和宽度,也就是说内容不会被重置。 尝试一下 »
scale-down 保持原有尺寸比例。内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。 尝试一下 »
initial 设置为默认值,关于 initial
inherit 从该元素的父元素继承属性。 关于 inherit
浏览器支持:
表格中的数字表示支持该属性的第一个浏览器版本号。
属性 object-fit浏览器支持:(ie不支持)
chrome ie firefox safari opera
31.0 16.0 36.0 7.1 19.0
广告: