知识补漏: object-fit

234 阅读1分钟

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

使用背景:

做 web 页面时, 经常会遇到一些从后台上传的图片和前端设置的图片样式不匹配的问题, 这样会造成图片被拉伸导致整体项目体验不好, 如下图当只设置图片 width: 100%; height: 100% 时由于图片原始尺寸和页面设置的尺寸不匹配会导致图片拉伸

当设置过 object-fit: cover 后图片效果:

设置过 object-fit 属性后图片的拉伸问题解决了!!!

object-fit 所有取值:

取值 含义
contain 被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加“黑边”
cover 被替换的内容在保持其宽高比的同时填充元素的整个内容框。如果对象的宽高比与内容框不相匹配,该对象将被剪裁以适应内容框
fill 被替换的内容正好填充元素的内容框。整个对象将完全填充此框。如果对象的宽高比与内容框不相匹配,那么该对象将被拉伸以适应内容框
none 被替换的内容将保持其原有的尺寸
scale-down 内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些

查看 object-fit 详情