本文目录
做项目经常会遇到图片列表展示,图片一般是用户从后台上传的,当然也有静态资源图片的,上传的图片尺寸千差万别。如果前端不控制图片大小,整个排版就会很乱,如果给定长宽,图片又会变形,用背景图片来处理又特别麻烦。这个问题一直苦恼了我好久,最近在前端工程师的帮助下,终于找到解决办法了。
一、object-fit介绍
object-fit
CSS 属性指定可替换元素的内容应该如何适应到其使用的高度和宽度确定的框。
您可以通过使用 object-position
属性来切换被替换元素的内容对象在元素框内的对齐方式。
二、object-fit语法
2.1 语法
object-fit 属性由下列的值中的单独一个关键字来指定。
2.2 取值
contain
被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加“黑边”。
cover
被替换的内容在保持其宽高比的同时填充元素的整个内容框。如果对象的宽高比与内容框不相匹配,该对象将被剪裁以适应内容框。
fill
被替换的内容正好填充元素的内容框。整个对象将完全填充此框。如果对象的宽高比与内容框不相匹配,那么该对象将被拉伸以适应内容框。
none
被替换的内容将保持其原有的尺寸。
scale-down
内容的尺寸与
none
或contain
中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。
2.3 正式语法
fill | contain | cover | none | scale-down
三、object-fit示例
请参照这个页面:https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit
四、object-fit浏览器兼容性
请参考下图: