object-fit CSS 属性

object-fit CSS 属性指定可替换元素(例如:<img><video>)的内容应该如何适应到其使用高度和宽度确定的框。

复制代码
<div class="box">
    <img class="pic" src="https://interactive-examples.mdn.mozilla.net/media/examples/plumeria-146x200.jpg" alt="">
</div>

object-fit 属性由下列的值中的单独一个关键字来指定。

contain

被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加"黑边"。

复制代码
.pic {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

cover

被替换的内容在保持其宽高比的同时填充元素的整个内容框。如果对象的宽高比与内容框不相匹配,该对象将被剪裁以适应内容框。

复制代码
.pic {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

fill

被替换的内容正好填充元素的内容框。整个对象将完全填充此框。如果对象的宽高比与内容框不相匹配,那么该对象将被拉伸以适应内容框。

复制代码
.pic {
    object-fit: fill;
    width: 100%;
    height: 100%;
}

none

复制代码
.pic {
    object-fit: none;
    width: 100%;
    height: 100%;
}

被替换的内容将保持其原有的尺寸。

scale-down

内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。

你可以通过使用 object-position 属性来切换被替换元素的内容对象在元素框内的对齐方式。

总的来说,object-fit 用于控制替换元素中的内容(如图片、视频)的尺寸和适应方式,而 background-size 用于控制元素的背景图片的大小。根据具体的需求和使用场景,选择合适的属性来控制元素中的图片或背景图片的显示效果。

相关推荐
竹林81817 分钟前
从报错到跑通:我用 @solana/web3.js 开发 Solana 钱包连接踩过的三个坑
前端
MariaH18 分钟前
Node中操作MySQL
前端
还有多久拿退休金19 分钟前
一个 var 让整个团队加班到凌晨——JS 闭包的那些暗坑
前端·javascript
weedsfly19 分钟前
用了 React/Vue 之后,这些 DOM 操作的坑你踩过几个?
前端·javascript
Asize22 分钟前
Ajax 入门:从 JSON 序列化到 XMLHttpRequest
前端·javascript·前端框架
林希_Rachel_傻希希23 分钟前
react hooks速通笔记
前端
Csvn29 分钟前
🚨 组件卸载后还在 setState?一个被你忽视的内存泄漏和报错根源
前端
乘风gg41 分钟前
AI GenUI 真正落地时,前端到底要做什么?
前端·ai编程·cursor
恋猫de小郭1 小时前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter
IT_陈寒1 小时前
JavaScript的默认参数挖坑实录,我掉进去了
前端·人工智能·后端