Css实现图片裁剪居中(图片不变形)

在需要展示多张图片的时候,图片大小有时候可能会不一样,一般设置图片宽度自适应,那么高度就会根据图片本身的宽高比等比缩放,那么问题来了,多张图片的宽高比可能本身并不相同,那么造成图片宽度一样,高度不一样,显示不好看,不协调。
如下:


Demo截图

为了避免变形,我们可以使用css中object-fit属性

object-fit CSS 属性指定可替换元素的内容应该如何适应到其使用的高度和宽度确定的框。

实现代码

html部分

css部分

.test_img{
  width: 200px;
  height: 100px;
  border: 1px solid #000;
  margin-top: 5px;
  img{
    width:100%;
    height: 100%;
    object-fit:cover;
  }
}

注意:只是简单的用pc做了个demo,如果是移动端话,单位推荐使用rem。

Demo截图

object-fit属性详解

语法

object-fit 属性由下列的值中的单独一个关键字来指定。

取值

contain
被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加‘黑边’

cover
被替换的内容在保持其宽高比的同时填充元素的整个内容框。如果对象的宽高比与内容框不相匹配,该对象将被剪裁以适应内容框。

fill
被替换的内容正好填充元素的内容框。整个对象将完全填充此框。如果对象的宽高比与内容框不相匹配,那么该对象将被拉伸以适应内容框。

none
被替换的内容将保持其原有的尺寸。

scale-down
内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。

你可能感兴趣的:(Css实现图片裁剪居中(图片不变形))