<!-- Learn about this code on MDN: https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit -->
<div>
<h2>object-fit: fill</h2>
<img src="https://interactive-examples.mdn.mozilla.net/media/examples/plumeria.jpg" alt="MDN Logo" class="fill"/>
<h2>object-fit: contain</h2>
<img src="https://interactive-examples.mdn.mozilla.net/media/examples/plumeria.jpg" alt="MDN Logo" class="contain"/>
<h2>object-fit: cover</h2>
<img src="https://interactive-examples.mdn.mozilla.net/media/examples/plumeria.jpg" alt="MDN Logo" class="cover"/>
<h2>object-fit: none</h2>
<img src="https://interactive-examples.mdn.mozilla.net/media/examples/plumeria.jpg" alt="MDN Logo" class="none"/>
<h2>object-fit: scale-down</h2>
<img src="https://interactive-examples.mdn.mozilla.net/media/examples/plumeria.jpg" alt="MDN Logo" class="scale-down"/>
</div>
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: 300px;
height: 300px;
border: 1px solid #000;
}
.fill {
object-fit: fill;
}
.contain {
object-fit: contain;
}
.cover {
object-fit: cover;
}
.none {
object-fit: none;
}
.scale-down {
object-fit: scale-down;
}
contain
被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加“黑边”。
cover
被替换的内容在保持其宽高比的同时填充元素的整个内容框。如果对象的宽高比与内容框不相匹配,该对象将被剪裁以适应内容框。
fill
被替换的内容正好填充元素的内容框。整个对象将完全填充此框。如果对象的宽高比与内容框不相匹配,那么该对象将被拉伸以适应内容框。
none
被替换的内容将保持其原有的尺寸。
scale-down
内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。