概要
该 object-fit CSS 属性指定替换元素的内容应该如何适应到其使用的高度和宽度确定的框。
初始值 fill
适用于 替换元素
遗传 是
媒体 视觉
计算值 按规定
动画类型 离散的
为了规范 通过正规的语法定义的唯一无歧义的秩序
/* 关键属性 */
object-fit: fill;
object-fit: contain;
object-fit: cover;
object-fit: none;
object-fit: scale-down;
/* 全局属性 */
object-fit: inherit;
object-fit: initial;
object-fit: unset;
初始值 fill
适用元素 replaced elements
是否是继承属性 否
适用媒体 visual
计算值 as specified
Animation type discrete
正规顺序 the unique non-ambiguous order defined by the formal grammar
句法
object-fit属性由下列的值中选择一个关键字来指定。
值
fill
被替换的内容的大小,以填补该元素的内容框:对象的具体对象的大小是元素的使用宽度和高度。
contain
被替换的内容的大小,为自身宽高比不变,适应该元素的内容框的大小:它的具体对象的大小被解析为对元素的使用宽度和高度的含有约束。
cover
被替换的内容的尺寸却使元件的整个内容框,以保持其长宽比其具体的对象的大小被解析为针对元素的使用的宽度和高度的盖约束。
none
被替换的内容的尺寸却使元件的整个内容框,以保持其长宽比其具体的对象的大小被解析为针对元素的使用的宽度和高度的盖约束。
scale-down
内容的尺寸仿佛none或contain指定了,取将导致更小的具体对象的大小。
形式语法
填写|包含|封面|没有|比例缩小
例
HTML 内容
<div>
<h2>object-fit: fill</h2>
<img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="fill"/>
<img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="fill narrow"/>
<h2>object-fit: contain</h2>
<img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="contain"/>
<img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="contain narrow"/>
<h2>object-fit: cover</h2>
<img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="cover"/>
<img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="cover narrow"/>
<h2>object-fit: none</h2>
<img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="none"/>
<img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="none narrow"/>
<h2>object-fit: scale-down</h2>
<img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="scale-down"/>
<img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="MDN Logo" class="scale-down narrow"/>
</div>
CSS 内容
h2 {
font-family: Courier New, monospace;
font-size: 1em;
margin: 1em 0 0.3em;
}
div {
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-items: flex-start;
height: 940px;
}
img {
width: 150px;
height: 100px;
border: 1px solid #000;
}
.narrow {
width: 100px;
height: 150px;
margin-top: 10px;
}
.fill {
object-fit: fill;
}
.contain {
object-fit: contain;
}
.cover {
object-fit: cover;
}
.none {
object-fit: none;
}
.scale-down {
object-fit: scale-down;
}
效果
(未展示)
规范
规范 状态 定论
CSS图像值和替换内容模块4级
在该规范’对象配合“的定义。 工作草案 在from-image和flip关键字已被添加。
CSS图像值和替换内容模块级3
在该规范’对象配合“的定义。 候选推荐 初始定义
浏览器兼容性
Desktop
特征 谷歌 火狐(Gecko) IE 欧朋 Safari(苹果浏览器)
基本支持 31.0 36 不支持 11.60- 19.0 是
Mobile
特征 Android 火狐移动(Gecko) IE移动 欧朋移动 Safari移动
基本支持 4.4.4 36 不支持 11.5-24 是
其他
其他图像相关的CSS属性: object-position,image-orientation,image-rendering,image-resolution.
原文:https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit