object-fit,object-position让img标签表现得像背景图那样能自适应和调整显示位置

`object-fit` 属性指定元素的内容应该如何去适应指定容器的高度与宽度。
`object-position` 属性一般与 `object-fit`一起使用,用来设置元素的位置。

图片在网页中有2种表现形式,使用CSSbackground-image或者HTML的img标签来实现。

背景图实现如notion的封面图效果可以使用background-position或者background-size轻松实现:

img图片自适应

这样就能做到图片自适应了,其实我们也可以不用背景图,而是使用img标签,再借助于CSS3新增的2个属性也能轻松做到。代码如下:

HTML部分:

<img class="img" src="https://www.notion.so/images/page-cover/woodcuts_7.jpg" alt="">

CSS3部分:

.img{
    display: block;
    width: 100%;
    height: 30vh;
    object-fit: cover; 
    object-position: center center; 
}

一、object-fit的用法

这里的object-fit 其实就相当于是 背景图 background-size 的作用。

标签定义及使用说明:

object-fit 属性指定元素的内容应该如何去适应指定容器的高度与宽度。

object-fit 一般用于 imgvideo 标签,一般可以对这些元素进行保留原始比例的剪切、缩放或者直接进行拉伸等。

取值如下:

属性值 描述
fill 默认,不保证保持原有的比例,内容拉伸填充整个内容容器。
contain 保持原有尺寸比例。内容被缩放。
cover 保持原有尺寸比例。但部分内容可能被剪切。
none 保留原有元素内容的长度和宽度,也就是说内容不会被重置。
scale-down 保持原有尺寸比例。内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。

二、object-position的用法

这里的object-position 其实就相当于是 背景图 background-position 的作用。

标签定义及使用说明

object-position 属性一般与 object-fit一起使用,用来设置元素的位置。

object-position 一般用于 imgvideo 标签。

语法:

object-position: position|initial|inherit;

其中position的指定 image 或 video 在容器中的位置。第一个值为 x 坐标位置的值,第二个值为 y 坐标位置的值。

取值同background-position

object-position: 50% 50%;   /*百分比*/
object-position: left bottom; /*方向词*/
object-position: 250px 125px; /*px*/
除特别声明外, 本站所有内容皆为原创,未经许可,禁止转载。转载时请务必以超链接形式标明文章出处和作者信息
  • 919
(0)
打赏 微信扫一扫 微信扫一扫
                       

关于作者:

web前端老罗

贡献:已经在WEB前端圈发表90篇文章了

简介:前端老罗是一位拥有多年web前端开发经验、管理经验、教学经验的实战派全栈工程师。目前在某名企任职WEB前端技术教官。加我微信:imqdcnn可提供开发、技术咨询、答疑、直播讲座等服务

Ta的专栏 | Ta的站点 | 其他SNS

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关于WEB前端圈

我是前端人(imqd.cn)愿景是不管你是想学习前端还是一名专业的WEB前端工程师在这里都能找到你想要的物料。定位为前端人学习进步的一个平台。在这里你能找到前端学习笔记、教学视频资源、案例、前后端分离、前端框架、低代码平台、可视化数据、多端开发、全栈开发等跟前端有关的一切资源!

关于站长:WEB前端老罗(罗老师)是一位拥有多年web前端开发经验、管理经验、IT培训教学经验的实战派全栈工程师。目前在某名企任职WEB前端技术教官。右边加我微信可提供开发、技术咨询、答疑、直播讲座等服务

WEB前端圈二维码

右边添加老罗微信一对一免费私聊
拉你加入官方微信答疑群

To top