使用 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引入使用
1127 0
|
6月前
|
人工智能 JavaScript
生成式人工智能(GAI)认证:2025最值得考的AI证书!
生成式人工智能(GAI)认证由全球教育巨头 Pearson 推出,融合技术原理、实战应用与伦理合规的三维培养框架。该项目与 AI 领域领先企业合作开发,涵盖提示优化、基础提示工程及社会影响等核心内容,助力学习者全面掌握 GAI 技能。中文版认证已落地中国,由达内教育与恒利联创战略合作推广,深度融合本土 AI 平台。作为高含金量的全球认可证书,GAI 认证可提升职业竞争力,满足行业对复合型 AI 人才的需求,为个人和企业开辟数字时代新机遇。
|
自然语言处理 JavaScript 开发者
通义灵码插件:VSCode 的智能编程助手
通义灵码插件:VSCode 的智能编程助手
8438 4
|
9月前
|
JavaScript 前端开发 网络架构
ES6解构赋值详解;全面掌握:JavaScript解构赋值的终极指南
解构赋值是一个强大且灵活的工具,它使得从数组和对象中提取数据变得更加简单和直观。通过掌握解构赋值的基本语法和实践,你可以写出更加简洁、可读性更强的代码。在实际项目中,解构赋值广泛应用于函数参数处理、变量交换、嵌套结构操作等场景,极大地提升了代码的灵活性和简洁度。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
前端开发
如何使用 CSS object-fit 进行图片的缩放和裁剪
如何使用 CSS object-fit 进行图片的缩放和裁剪
677 0
如何使用 CSS object-fit 进行图片的缩放和裁剪
|
机器学习/深度学习 算法 数据挖掘
【机器学习】在使用K-means聚类算法时,如何选择K的值?
【5月更文挑战第11天】【机器学习】在使用K-means聚类算法时,如何选择K的值?
|
机器学习/深度学习 人工智能 算法
TensorFlow 的基本原理和使用方法
TensorFlow 的基本原理和使用方法
|
JavaScript
vue + d3.js(v6) 绘制【树状图/思维导图】
vue + d3.js(v6) 绘制【树状图/思维导图】
464 0
|
消息中间件 监控 Java
Elasticsearch 出现 “429 rejected” 报错,怎么办?
Elasticsearch 出现 “429 rejected” 报错,怎么办?
Ridge,Lasso,Elasticnet回归
这篇文章探讨了多元线性回归与正则化的结合,包括Ridge、Lasso和Elasticnet回归。Ridge回归通过添加L2惩罚项提高模型鲁棒性,但可能牺牲一些准确性。Lasso回归引入L1范数,对异常值更敏感,能进行特征选择。Elasticnet结合L1和L2范数,允许在正则化中平衡两者。通过调整α和l1_ratio参数,可以控制整体正则化强度和正则化类型的比例。
255 0

热门文章

最新文章