前段时间做移动端开发遇到的问题,以前是没注意到css有个object-fit属性,一直对图片适应不知道何从下手。
移动端基本上都是需要做图片适应处理的,比如轮播图,商品封面图等等;用户发布的图片都不是尺寸规格的图。
那么有什么办法处理呢?刚好css3有了object-fit属性
相关文档可以到这里看 https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit
下面来说一下各个属性值
1.object-fit: cover;
这个属性值在移动端是用得最多的一个。下面看例子
<img src="http://xxiaoyuan.top/static/js/upload/wz/152826027010892.jpg" alt="">
//css部分
img{
border: 2px red solid;
width: 300px;
height: 300px;
object-fit: cover;
}
cover是居中填充整个内容,其中有一边是一定会刚好填充完整的,剩余的将会裁剪掉(这里的填充是一定是会填满整个内容的)
效果图 原图尺寸比例
2.object-fit: fill;
fill是填充整个内容,但是不会超出内容,当有一边填充完之后,如果还有空白处将会拉升使整个内容填满
效果图 原图看上面
3.object-fit: contain;
contain填充的时候一样不会超出内容,当一边填充完之后,填充结束,并不会拉升改变图片比例,这样当图片不够填充整个内容的时候,一定会有一边留白。
效果图 原图看上面
4.object-fit: scale-down;
scalc-down感觉跟contain一样,没看出有什么不同,如果有兄die知道欢迎交流
5.object-fit: none;
none就是默认属性值,什么填充都不给