使用 object-fit 属性完美过渡图片

简介: 这篇文章介绍了CSS属性object-fit的用法。object-fit属性用于指定元素的内容如何适应指定容器的高度和宽度。该属性一般适用于img和video标签,可以进行剪切、缩放或拉伸操作。文章中展示了通过object-fit属性来统一设置多张图片的样式,保持原始比例并改变显示位置的示例,以及使用object-position属性实现简单的过渡效果。

object-fit 属性指定元素的内容应该如何去适应指定容器的高度与宽度, 一般用于 imgvideo 标签,一般可以对这些元素进行保留原始比例的剪切、缩放或者直接进行拉伸等
在我们工作中,经常会遇到附件上传,然后展示多张图片的,这些图片的尺寸大小不一,如果不进行样式的统一设置,看起来会比较不美观,这时我们可以使用 object-fit 属性对其设置。

  1. 先让我们看一下 object-fit 属性的值:
    990992003e60aa75068fb00f5de09ca2.png

  2. 我们新建一个 html 文件,引入几张高度不一的图片:

    <head>
    <title>CSS属性 object-fit</title>
    <style>
      div {
          
          
        text-align: center;
        margin-top: 200px;
      }
    
      div img {
          
          
        width: 200px;
      }
    </style>
    </head>
    
    <body>
    <div>
      <img src="./Images/1.jpg">
      <img src="./Images/2.jpg">
      <img src="./Images/3.jpg">
      <img src="./Images/4.jpg">
    </div>
    </body>
    
    </html>
    

    此时的效果是这样的:
    35e39919143f962f152fcd43b6713520.png

  3. 我们设置统一的高度,此时的图片会失真变形:
    6bbbca62a300aa5f6f3abfb9ac4c15fc.png

  4. 我们对其设置 object-fit: cover 样式:
    ee3a420cffc0de475bc7f34bb4048f7a.png

    此时图片能保持原有尺寸比例

  5. 如果想改变图片的显示位置,我们可以对其设置 object-position: right top 属性:
    8a941556295595021c7726da10b19073.png

  6. 我们还可以使用 object-position 属性来实现图片一些简单的过渡效果:

    <style>
    div {
          
          
      text-align: center;
      margin-top: 200px;
    }
    
    div img {
          
          
      width: 400px;
      height: 200px;
      object-fit: cover;
      object-position: right top;
      transition: .5s all;
    }
    
    div img:hover {
          
          
      object-position: left bottom;
    }
    </style>
    

    9772f7ab0edea5935f9406f9709465c5.gif

object-position 属性一般与 object-fit
一起使用,用来设置元素的位置,两者结合可以实现很多图片动画效果,有兴趣的可以自行研究一下。

相关文章
|
1月前
|
JavaScript
vue2中$set的原理_它对object属性做了啥?
vue2中$set的原理_它对object属性做了啥?
17 1
|
10月前
|
前端开发
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置1
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置1
29 0
|
10月前
|
前端开发
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置3
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置3
36 0
|
10月前
|
前端开发
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置4
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置4
33 0
|
10月前
|
前端开发
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置2
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置2
36 0
|
12月前
|
JavaScript 前端开发
熬夜整理的 Object 对象的静态方法、实例属性和实例方法
熬夜整理的 Object 对象的静态方法、实例属性和实例方法,用于理解 Object 对象的静态方法和实例方法的区别,以及 Object 对象的静态方法和实例方法的使用。
75 0
|
前端开发
实用CSS属性——object-fit
我们常常将图片或者视频放在一个盒子内,那么就经常在业务上考虑适配的问题,而object-fit能帮助我们设定图片在盒子中的显示方法
226 6
|
JavaScript
js获取对象属性的两种方法,object.属性名,[‘属性名’ ]
js获取对象属性的两种方法,object.属性名,[‘属性名’ ]
962 0
js获取对象属性的两种方法,object.属性名,[‘属性名’ ]
|
JavaScript
Object(对象)中的属性
js Object(对象)中的属性
78 0
|
JavaScript
JavaScript---网络编程(3)-Object、String、Array对象和prototype属性-2
JavaScript---网络编程(3)-Object、String、Array对象和prototype属性-1
169 0
JavaScript---网络编程(3)-Object、String、Array对象和prototype属性-2