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

尝试了很多方法,当然有直接给图片宽高,但是图片高度不定,那就不设高度,结果小程序默认图片高度240px起作用了,Fuck!度娘去...

度娘找到最佳结果:

  1. 1.样式设置宽度100%,
  2. .img{width: 100%;}
  3. 2.添加属性 mode="widthFix"
  4. <image class="img" src="../../images/hello.png" mode="widthFix">

你以为就这样结束啦?我是那么爱复制的人吗?

是的!

额外送个知识点:
mode——图片裁剪、缩放的模式,默认值:scaleToFill,有 13 种模式,其中 4 种是缩放模式,9 种是裁剪模式。
官方文档:—— https://developers.weixin.qq.com/miniprogram/dev/component/image.html

  1. scaleToFill 缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
  2. aspectFit 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
  3. aspectFill 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
  4. widthFix 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变
  5. heightFix 缩放模式,高度不变,宽度自动变化,保持原图宽高比不变 2.10.3
  6. top 裁剪模式,不缩放图片,只显示图片的顶部区域
  7. bottom 裁剪模式,不缩放图片,只显示图片的底部区域
  8. center 裁剪模式,不缩放图片,只显示图片的中间区域
  9. left 裁剪模式,不缩放图片,只显示图片的左边区域
  10. right 裁剪模式,不缩放图片,只显示图片的右边区域
  11. top left 裁剪模式,不缩放图片,只显示图片的左上边区域
  12. top right 裁剪模式,不缩放图片,只显示图片的右上边区域
  13. bottom left 裁剪模式,不缩放图片,只显示图片的左下边区域
  14. bottom right 裁剪模式,不缩放图片,只显示图片的右下边区域