CSS object-fit 属性

object-fit CSS 属性指定可替换元素的内容应该如何适应到其使用的高度和宽度确定的框

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

实践:https://interactive-examples.mdn.mozilla.net/pages/css/object-fit.html

 

语法

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

取值

contain

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

cover

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

fill

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

none

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

scale-down

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

正式语法

fill | contain | cover | none | scale-down

 

 

 

https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit 

### CSS `object-fit` 属性使用指南 #### 1. 定义与功能 `object-fit` 是一个 CSS 属性,用于定义替换元素(如 `<img>`、`<video>` 或 `<object>`)的内容如何适应其容器框的尺寸[^3]。此属性通过调整内容的比例和位置来实现最佳适配效果。 --- #### 2. 可选值及其含义 以下是 `object-fit` 的主要取值以及每种取值的行为描述: - **fill**: 默认行为,内容会被拉伸以完全填充容器的高度和宽度,可能导致比例失真[^3]。 - **contain**: 内容保持原始宽高比并缩放到适合容器的最大尺寸,可能在容器内留下空白区域[^3]。 - **cover**: 内容同样保持原始宽高比,但会放大到刚好覆盖整个容器,部分溢出内容可能会被裁剪掉[^3]。 - **none**: 内容不进行任何缩放操作,保留原生尺寸,即使超出容器边界也不会改变[^3]。 - **scale-down**: 自动选择 `none` 或 `contain` 中较小的一种作为最终表现形式。当容器小于内容时表现为 `contain`;反之则为 `none`[^5]。 --- #### 3. 示例代码 以下是一些常见的应用场景及其实现方式: ##### (1) 图片居中裁切展示 ```html <div style="width: 200px; height: 200px; border: 1px solid black;"> <img src="example.jpg" alt="Example Image" style="width: 100%; height: 100%; object-fit: cover;" /> </div> ``` ##### (2) 视频全屏播放模式 ```html <video controls style="width: 100%; height: auto; object-fit: contain;"> <source src="movie.mp4" type="video/mp4"> </video> ``` ##### (3) 小图标无缩放示例 ```html <img src="icon.png" alt="Icon Example" style="width: 50px; height: 50px; object-fit: none;" /> ``` --- #### 4. 浏览器兼容性 尽管现代浏览器普遍支持 `object-fit` 属性,但在某些旧版浏览器中可能存在兼容性问题。具体如下表所示: | 浏览器 | 版本支持 | |--------------|----------| | Chrome | ≥31 | | Firefox | ≥36 | | Safari | ≥7.1 | | Edge | ≥12 | | Internet Explorer | 不支持 | 对于 IE 用户或其他低版本环境,可以通过 JavaScript 库(如 [picturefill](https://github.com/scottjehl/picturefill))提供回退方案[^4]。 --- #### 5. 响应式设计中的重要角色 由于移动设备屏幕尺寸多样化,在响应式网页开发过程中合理运用 `object-fit` 能够有效解决媒体资源自适应难题。例如,利用该属性可以让图片或视频始终保持理想比例而不破坏整体布局结构[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_格鲁特宝宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值