css resize属性将div变成可以拖动修改大小配合object-fit实现图片大小适应的效果...

原文链接: css resize属性将div变成可以拖动修改大小配合object-fit实现图片大小适应的效果

上一篇: cocos 随机变色的拖尾

下一篇: css 自定义属性和雪花飘落效果

我们需要的效果, 小猫的照片会自动的适应, 并且不会有比例上的拉伸

resize有四个值: none|both|vertical|horizontal; 表示什么方向上可以拉伸

https://developer.mozilla.org/en-US/docs/web/css/resize

https://developer.mozilla.org/en-US/docs/web/css/object-fit

object-fit:fill, 完全拉伸填满

被替换的内容大小可以填充元素的内容框。 整个对象将完全填充此框。 如果对象的高宽比不匹配其框的宽高比,那么该对象将被拉伸以适应。

up-eb040ba788844da86f146e2b2f4e7ffc122.gif

object-fit:contain, 等比例拉伸适应

被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加“黑边”。

object-fit:cover, 等比例拉伸, 超出父级不可见

被替换的内容大小保持其宽高比,同时填充元素的整个内容框。 如果对象的宽高比与盒子的宽高比不匹配,该对象将被剪裁以适应。

up-36863908555a5630bab967ed3f6a915a218.gif

object-fit:none, 大小不变

被替换的内容尺寸不会被改变。

object-fit:scale-down, 原图大小和等比例拉伸, 哪个小用哪个

内容的尺寸就像是指定了 none contain ,取决于哪一个将导致更小的对象尺寸。

up-3a6729125ff9fd121566b49e7ed87ff903c.gif

主要思路是用一个div包裹一个img, div上使用resize将其变为可修改大小的, img上使用object-fit将其设置为等比例拉伸适应父节点大小

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <style>
      .resizable {
        resize: both;
        overflow: auto;
        width: 408px;
        height: 287px;
        outline: 2px solid hotpink;
      }
      .resizable img {
        width: 100%;
        height: 100%;
        object-fit: contain;
      }
    </style>
  </head>
  <body>
    <div class="resizable">
      <img src="http://placekitten.com/408/287" width="408" height="287" />
    </div>
  </body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值