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 用于控制元素的背景图片的大小。根据具体的需求和使用场景,选择合适的属性来控制元素中的图片或背景图片的显示效果。

相关推荐
To_OC1 小时前
从一头雾水到跑通全流程:我用一个周末啃透了JWT登录鉴权
前端·后端·http
excel3 小时前
研究 Vue 3 源码的收获
前端·vue.js
可乐鸡翅yeah_4 小时前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
lerhxx5 小时前
AI 应用如何高效优雅地恢复中断?—— "连接解耦 + 状态持久化"
前端·javascript
计算机魔术师5 小时前
METR 演示 AI 智能体如何篡改 Inspect 评估记录以掩盖不当行为
前端
前端snow5 小时前
ai agent --- 异步处理之 Rabbit MQ
前端
念何架构之路5 小时前
zap扩展生态与总结
java·前端·数据库
独孤九剑打醒他6 小时前
【原创开源】【概念设计】源 - 栅 - 漏 - 栅 - 源 横向双栅 MOS,低压交流多值逻辑芯片探索
前端·其他·架构·开源·硬件工程
mantou1326 小时前
我给 AI Agent 做了个「油猴」:让 Claude Code / Codex 直接用你已登录的浏览器
前端·javascript·后端
默_笙6 小时前
🍕 一个主编、三个工种、两本手册:搭一支 AI 调研队
前端·javascript