【CSS】可替换元素的控制属性:object-fit属性和object-position属性

一、可替换元素是什么?

可替换元素指的是其展现的效果和内容是不受到css控制的,而是由外部资源来决定的

典型的可替换元素有<iframe>、<img>、<video>、<embed>,有些情况下canvas、audio、object、option、以及type="image"的input元素也会以可替换元素处理

具体来说有以下特点

  • 元素内容在其框中的位置或者定位方式,仅有部分特定属性控制
    • object-fit:控制内容对象的填充方式(功效类似于background-size,但前者不可设置内容宽高的具体数值,而background-size可以
    • object-position:内容对象在盒中的位置(功效类似于background-position
  • 普通css属性修改可替换元素时,内部内容不继承父文档的样式

PS:background属性是利用css插入元素的背景图,在使用场景上还是有本质区别的

二、object-fit属性

1、含义

object-fit属性指定可替换元素( 例如<img>或者<video>)的内容应该以何种填充方式,适应到其元素现有高度和宽度的框内。

2、可选值

  • none:保持内容的原有尺寸,不做任何缩放操作。
  • fill:保证内容正好填充满元素,非等比缩放,因此可能对原来的内容对象造成拉伸
  • contain:保证内容对象被完全展现,并适应元素宽高进行等比缩放,不一定铺满元素
  • cover:使内容填满元素,并保证原本的宽高比,等比缩放
  • scale-down等比呈现图像,取"none”和"contain"之中呈现效果最小的方式

三、object-position属性

object-position属性规定了可替换元素的内容在框中呈现的位置

其取值可以是单个关键字,也可以是分别定义x轴、y轴上的位置,也可以是分别定义上、下、左、右的偏移量。

/* 关键字值 */
object-position: top;
object-position: bottom;
object-position: left;
object-position: right;
object-position: center;

/* <percentage> 值 */
object-position: 25% 75%;

/* <length> 值 */
object-position: 0 0;
object-position: 1cm 2cm;
object-position: 10ch 8em;

/* 边缘偏移值 */
object-position: bottom 10px right 20px;
object-position: right 3em bottom 10px;
object-position: top 0 right 10px;

/* 全局关键字 */
object-position: inherit;
object-position: initial;
object-position: revert;
object-position: revert-layer;
object-position: unset;

上、下、左、右的理解,可以理解为依次移动设置的偏移量,就是最后的位置了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

音仔小瓜皮

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

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

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

打赏作者

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

抵扣说明:

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

余额充值