使用 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
一起使用,用来设置元素的位置,两者结合可以实现很多图片动画效果,有兴趣的可以自行研究一下。

相关文章
|
JavaScript
Vue使用emoji表情包
1.资料库 2.使用概述 2.1安装组件 2.2引入使用
1141 0
|
前端开发 JavaScript 开发者
利用 el-select 和 el-tree 实现树形结构多选框联动功能
本文详细介绍了如何使用ElementUI中的el-select下拉选择器和el-tree树形控件来实现多功能联动选择器,包括多选、删除、搜索、清空选项等功能。通过树形控件展示复杂的层级结构,用户可以通过下拉选择树形节点,实时搜索节点,且支持批量选择和删除功能。文中提供了完整的HTML、JavaScript和CSS代码实现,帮助开发者快速集成此功能。
5193 0
利用 el-select 和 el-tree 实现树形结构多选框联动功能
|
10月前
|
JavaScript 前端开发 网络架构
ES6解构赋值详解;全面掌握:JavaScript解构赋值的终极指南
解构赋值是一个强大且灵活的工具,它使得从数组和对象中提取数据变得更加简单和直观。通过掌握解构赋值的基本语法和实践,你可以写出更加简洁、可读性更强的代码。在实际项目中,解构赋值广泛应用于函数参数处理、变量交换、嵌套结构操作等场景,极大地提升了代码的灵活性和简洁度。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
前端开发
如何使用 CSS object-fit 进行图片的缩放和裁剪
如何使用 CSS object-fit 进行图片的缩放和裁剪
779 0
如何使用 CSS object-fit 进行图片的缩放和裁剪
|
机器学习/深度学习 算法 数据挖掘
【机器学习】在使用K-means聚类算法时,如何选择K的值?
【5月更文挑战第11天】【机器学习】在使用K-means聚类算法时,如何选择K的值?
|
网络协议 算法 安全
【网络协议基础】TCP/IP协议大全
TCP/IP协议是现代计算机网络通信的基础,是互联网及局域网广泛使用的一套协议。TCP/IP协议集采用分层模型,以便于网络的设计、实现和管理。
1219 2
|
机器学习/深度学习 人工智能 算法
TensorFlow 的基本原理和使用方法
TensorFlow 的基本原理和使用方法
|
JavaScript
vue + d3.js(v6) 绘制【树状图/思维导图】
vue + d3.js(v6) 绘制【树状图/思维导图】
490 0
|
消息中间件 监控 Java
Elasticsearch 出现 “429 rejected” 报错,怎么办?
Elasticsearch 出现 “429 rejected” 报错,怎么办?
Ridge,Lasso,Elasticnet回归
这篇文章探讨了多元线性回归与正则化的结合,包括Ridge、Lasso和Elasticnet回归。Ridge回归通过添加L2惩罚项提高模型鲁棒性,但可能牺牲一些准确性。Lasso回归引入L1范数,对异常值更敏感,能进行特征选择。Elasticnet结合L1和L2范数,允许在正则化中平衡两者。通过调整α和l1_ratio参数,可以控制整体正则化强度和正则化类型的比例。
280 0