CSS3 object-position/object-fit 属性


prtyaa
prtyaa 2023-12-26 18:00:32 63559
分类专栏: 资讯
  • CSS3 background-size出现的比较早,大家应该知道其支持的一些值,除了数值之外,其还支持几个关键字,例如:cover, contain等。
    object-fit也是类似的,但还是有些差异,具体有5个值:
    .fill { object-fit: fill; }
    .contain { object-fit: contain; }
    .cover { object-fit: cover; }
    .none { object-fit: none; }
    .scale-down { object-fit: scale-down; }

    每个属性值的具体含义如下(自己理解的白话文,官方释义见官网):

    • fill: 中文释义“填充”。默认值。替换内容拉伸填满整个content box, 不保证保持原有的比例。
    • contain: 中文释义“包含”。保持原有尺寸比例。保证替换内容尺寸一定可以在容器里面放得下。因此,此参数可能会在容器内留下空白。
    • cover: 中文释义“覆盖”。保持原有尺寸比例。保证替换内容尺寸一定大于容器尺寸,宽度和高度至少有一个和容器一致。因此,此参数可能会让替换内容(如图片)部分区域不可见。
    • none: 中文释义“无”。保持原有尺寸比例。同时保持替换内容原始尺寸大小。
    • scale-down: 中文释义“降低”。就好像依次设置了nonecontain, 最终呈现的是尺寸比较小的那个。3

     

     

    object-position要比object-fit单纯的多,就是控制替换内容位置的。默认值是50% 50%,也就是居中效果,所以,无论上一节object-fit值为那般,图片都是水平垂直居中的。因此,下次要实现尺寸大小不固定图片的垂直居中效果,可以试试object-fit.
    与background-position类似,object-position的值类型为<position>类型值。也就是说,CSS3的相对坐标设定样式支持的。

    例如替换内容一直定位在容器的右下角:

    object-position: 100% 100%;

    例如替换元素相对于右下角20px 10px地方定位:

    object-position: right 20px bottom 10px;

    建议还是使用calc实现相对右下角定位:

    object-position: calc(100% - 20px) calc(100% - 10px);

     

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=30961
赞同 0
评论 0 条