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


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

    背景图实现如notion的封面图效果可以使用background-position或者background-size轻松实现,首先来看看notion.so的效果展示:

    img图片自适应

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

    HTML部分:

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

    CSS3部分:

    .img{
        display: block;
        width: 100%;
        height: 30vh;
        object-fit: cover; 
        object-position: center center; 
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    一、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;
    
    • 1

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

    取值同background-position

    object-position: 50% 50%;   /*百分比*/
    object-position: left bottom; /*方向词*/
    object-position: 250px 125px; /*px*/
    
    • 1
    • 2
    • 3

    如果你在web前端开发、面试、前端学习路线有困难可以加我V:imqdcnn。免费答疑,行业深潜多年的技术牛人帮你解决bug。

    祝你能成为一名优秀的WEB前端开发工程师!

  • 相关阅读:
    问题 F: 逆序排列 两种方法
    java基于RestTemplate的微服务发起http请求
    笔记 | MySQL 运维常用语句
    搭建自动化 Web 页面性能检测系统 —— 实现篇
    虚拟机启动报错CPU被禁用
    Navicat将视图结构导出为可运行SQL文件
    Win11系统重装用什么好 一键重装Win11教程
    嵌入式实时操作系统的设计与开发(消息)
    微信小程序连接蓝牙
    python-jieba库
  • 原文地址:https://blog.csdn.net/imqdcn/article/details/133352524