object-fit CSS 属性指定可替换元素的内容应该如何适应到其使用的高度和宽度确定的框。
object-fit取值
fill | contain | cover | none | scale-down
<div class="content">
<img src="https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1585722344&di=a7452f0681db97299ad58f32f6492017&src=http://a3.att.hudong.com/14/75/01300000164186121366756803686.jpg" alt="">
</div>
<style type="text/css">
.content{
width: 200px;
height: 200px;
background: red;
}
img{
width: 100%;
height: 100%;
object-fit: fill | contain | cover | none | scale-down;
}
</style>
原图为:
取值效果示例
object-fit: fill;
被替换的内容正好填充元素的内容框。整个对象将完全填充此框。如果对象的宽高比与内容框不相匹配,那么该对象将被拉伸以适应内容框。
object-fit: contain;
被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加“黑边”。
object-fit: cover;
被替换的内容在保持其宽高比的同时填充元素的整个内容框。如果对象的宽高比与内容框不相匹配,该对象将被剪裁以适应内容框。
常用来解决图片变形问题
object-fit: none;
被替换的内容将保持其原有的尺寸。
object-fit: scale-down;
内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。