使用img标签自适应,各个尺寸图片不变形-------css3:object-position/object-fit属性

最近使用img标签放图片,图片拉伸严重变形,所以就找了找资料,发现css3已经解决了这个问题,它推出了两个属性:object-position/object-fit,这两个属性可以随意存放各个尺寸的照片并使图片不变形

一、object-fit:控制图片展示状态
object-fit一共有五个对应值,分别是:

  • fill: “填充”。默认值。使图片拉伸填满整个容器, 不保证保持原有的比例。
  • contain: “包含”。保持原有尺寸比例缩放。保证整个图片都可以出现在容器中。因此,此参数可能会在容器内留下空白。
  • cover: “覆盖”。保持原有尺寸比例缩放。宽度和高度至少有一个和容器一致(尺寸小的一致)。因此,此参数可能会让图片部分区域不可见。
  • none: “无”。保持原有尺寸比例。同时保持图片原始尺寸大小。多出的部分隐藏。
  • scale-down: “降低”。就好像依次设置了none或contain, 最终呈现的是尺寸比较小的那个。

注意:scake-down具有动态属性:当实际图片尺寸大于容器尺寸时,表现为contain属性的结果;当实际图片尺寸小于容器尺寸时,表现为none属性的结果

接下来我会提供下每个属性的结果:
原图:
在这里插入图片描述

在这里插入图片描述

二、object-position:控制图片展示位置

object-position属性可以控制图片的展示位置,比如下图有很多留白,如果我们想让最主要的内容展示出来,就可以用这个属性控制图片位置;
在这里插入图片描述

三、附上测试源码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .img_class{
            width: 300px;
            height: 300px;
            border: black 1px solid;
            background-color:darkgrey ;
        }
        .one_class{
            object-fit: fill;
        }
        .two_class{
            object-fit: contain;
            object-position: left 0px bottom 100px;
        }
        .three_class{
            object-fit: cover;
        }
        .four_class{
            object-fit: none;
            object-position: left 100px bottom 100px;
        }
        .div_class{
            width: 350px;
            float: left;
        }
        .div_class span{

        }
    </style>
</head>
<body>
   <div class="div_class">
       <span>未加object-fit属性时</span>
       <img  class="img_class" src="./img/timg%20(1).jpg">
   </div>
   <div class="div_class" >
       <span>object-fit:fill</span>
       <img  class="img_class one_class" src="./img/timg%20(1).jpg">
   </div>
   <div class="div_class ">
       <span>object-fit: contain;</span>
       <p>object-position: left 0px bottom 100px;</p>
       <img  class="img_class two_class" src="./img/timg%20(1).jpg">
   </div>
   <div class="div_class">
       <span>object-fit: cover;</span>
       <img  class="img_class three_class" src="./img/timg%20(1).jpg">
   </div>
   <div class="div_class">
       <span> object-fit: none;</span>
       <p>object-position: left 100px bottom 100px;</p>
       <img  class="img_class four_class" src="./img/timg%20(1).jpg">
   </div>
</body>
</html>

注意:图片位置自己改下

  • 16
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值