图片铺满div,自适应容器大小,不会拉伸变形

小程序

mode属性

scaleToFill:缩放模式,不保持纵横比,图片拉伸至填满 image 元素
aspectFit: 缩放模式,保持纵横比,保证图片的长边能完全显示出来。
aspectFill: 缩放模式,保持纵横比,保证图片的短边能完全显示出来,长边截取。
widthFix: 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变
heightFix:缩放模式,高度不变,宽度自动变化,保持原图宽高比不变
其他的不实用,不做讲解

例子:只有这样写才能保证图片宽高小于大于box展示大小的图片都能不变形的铺满显示

<view class="comm__box"><image class="comm__img" mode="widthFix" src=""></image>
</view>
.comm__box{width: 100%;height: calc((100vw - 40px) * 250 / 690);background: #fff;position: relative;overflow: hidden;
}
.comm__mg {min-width: 100%;min-height: 100%;position: absolute;top: 25%;left: 50%;transform:translate(-50%,-25%);display: block;
}

2. 使用bindload绑定函数动态自适应
思路:获取到原图的宽度和高度。

然后计算他们的宽高比率。。然后设置一个宽度大小(rpx),最后通过style动态设置image的宽高。

<image src="../uploads/2.jpg" bindload="imageLoad"
style="width:{{imgwidth}}rpx; height:{{imgheight }}rpx;"></image>
var app = getApp()
Page({data: {imgwidth:0,imgheight:0,},onLoad: function() {},imageLoad: function(e) {var _this=this;var $width=e.detail.width,    //获取图片真实宽度$height=e.detail.height,ratio=$width/$height;   //图片的真实宽高比例var viewWidth=500,           //设置图片显示宽度,viewHeight=500/ratio;    //计算的高度值this.setData({imgwidth:viewWidth,imgheight:viewHeight})}
})

h5

1. object-fit属性,对应小程序的mode
思路:直接给img套用一个object-fit:cover;让img填满盒模型。
代码:

img{width: 100%;height: 100%;object-fit:cover;
}

缺点:由于是新代码,在一些浏览器上还不兼容。回退机制上,如果浏览器不认识object-fit,那整个图片就会被强制拉伸成容器的尺寸。

2. min
思路:通过对img元素定位,并将它的高度和宽度设置一个最小满屏值。可以根据不同定位来显示大图的展示区域
代码例子:

div{position:relative;overflow:hidden;width: 100%; height: calc((100vw - 40px) * 250 / 690);
}
div img{position: absolute;top: 50%;left: 50%;transform:translate(-50%,-50%);display: block;min-width: 100%;min-height: 100%;
}

缺点:父容器显示区域宽高固定。图片宽高任意一尺寸小于容器时,这个情况是正常的,但如果图片的宽高都大于容器,图片也能铺满,但容器就只显示大图的其中部分。

小程序 、h5图片铺满div,自适应容器大小相关推荐

  1. 微信小程序背景图片铺满全屏

    效果图: 示例代码: 总结: 全屏的秘诀在于: background-size: 100% 100%; 阅读完有任何问题,联系我微信:ichatme002,备注来自[CSDN]

  2. html怎么使图片自动填充,CSS怎么将img图片填满父容器div自适应容器大小

    CSS怎么将img图片填满父容器div自适应容器大小 发布时间:2021-03-19 09:35:26 来源:亿速云 阅读:114 作者:小新 这篇文章将为大家详细讲解有关CSS怎么将img图片填满父 ...

  3. 图片铺满div元素不变形,超出部分隐藏,保留中心部分css代码

    转自:https://www.cnblogs.com/ymdi/p/15707504.html 需求:图片铺满父级元素,有些图片横向.有些是纵向,图片宽高比不一致,导致不能铺满或者变形.针对这种情况, ...

  4. 小程序webview不铺满_感恩宠粉季小程序优惠多多,一元秒杀不容错过!

    11月感恩狂欢宠粉季 emmm, 我知道你们都是看见了标题,才进来的. 令人期待的感恩节将到来啦! 海虞新天地商业广场小程序秒杀福利 来啦~ 限时秒杀,超低折扣... 这里通通都有! 更便捷,更优惠, ...

  5. 微信小程序中图片占满整个屏幕实现方法

    将body和html设置为100%,这样我们就可以在他们的子元素中使用height:100%来使的我们的容器元素占满屏幕的高度啦. 但是在微信小程序中,是没有dom对象的,根节点是page,使用pag ...

  6. 小程序背景图铺满整个屏幕

    vxml: <view style='width:100%;min-height:100%;background-image:url("/images/tlbc_bg.png" ...

  7. uni-微信小程序 图片铺满屏幕

    uni-微信小程序 图片铺满屏幕 在img标签里添加mode="widthFix" <image src="" mode="widthFix&q ...

  8. 原理:小程序image图片实现宽度100%,高度自适应

    微信小程序的图片image有默认的宽高:width: 320px和height: 240px,这两个值让新手弄起来心情烦躁,连引入个icon图标就是变形,今天就记录一下我遇到的一种问题: 多图排列,我 ...

  9. 如何用纯CSS将图片填满div,自适应容器大小

    如何用纯CSS将图片填满div,自适应容器大小  2016-10-11 13:33   网页设计   标签:css 代码   5987    3 我有一个模板,想按常规做一个div里面放置一个img图 ...

最新文章

  1. C++中数学运算、比较、赋值操作符的重载
  2. jquery 判断手势滑动方向(上下左右)
  3. 链表 - 约瑟夫问题
  4. Angular 开发里的 polyfills.js、runtime.js、styles.js 和 vendor.js 是用来做什么的
  5. excel如何生成mysql的sql语句_excel 批量生成SQL语句
  6. 拉勾发布互联网社畜输入法报告:市场人每日打字7300个
  7. js日期操作,某天的N天后,一个月后的日期
  8. 三星GAST考试分享
  9. sap成本流怎么看_SAP标准成本核算体系
  10. photoshop文字使用技巧
  11. matlab中的index函数的使用方法,index函数语法说明及应用实例
  12. Windows注册表命令(最简单明了)
  13. [WinError 6] 句柄无效。
  14. 数据处理之数据类型转换
  15. $.request方法
  16. 让你低调的app脱颖而出
  17. 什么是电商GMV(成交总额)?
  18. 金融客户标签画像与客群查询使用HIVE+Hbase+Es实践(一)
  19. [附源码]Java计算机毕业设计SSM电子工厂进销存管理系统
  20. Java运行环境—jdk下载及安装步骤

热门文章

  1. 轻松获取LAMP环境的配置参数
  2. RSA客户端js加密服务器C#解密(含源码)
  3. 深度学习数据更换背景_开始学习数据科学的最佳方法是了解其背景
  4. missforest_missforest最佳丢失数据插补算法
  5. bigquery_到Google bigquery的sql查询模板,它将您的报告提升到另一个层次
  6. opencv:用最邻近插值和双线性插值法实现上采样(放大图像)与下采样(缩小图像)
  7. leetcode 977. 有序数组的平方(双指针)
  8. WeWork通过向225,000个社区征税来拼命地从Meetup.com榨取现金
  9. webassembly_WebAssembly的设计
  10. android 揭示动画_如何使用意图揭示函数名称使代码更好