微信小程序:图片显示保持纵横比缩放图片显示(mode='aspectFit')

一语道破

在image标签中加入mode='aspectFit'属性,即可让图片保持纵横比缩放图片。

实现过程

在一个动态页面编辑中,因为要插入图片,理所应当的我加入了image标签,这是加入图片必然的方法。

接下来进行属性的调整,一开始我为图片加一个外层容器,方便调整属性,把图片放进去:

<view class="imageCon">
      <image class='image' src="http://xiemenglei.cn/wp-content/uploads/2019/07/IMG_20190726_183123.jpg"></image>
</view>

接下来我想当然的以为图片的heightwidthauto,以为auto的字面意思就是自动,图片就会自动调整,结果设置之后图片的影子都木得了o(╥﹏╥)o!!!(大家自行尝试)

之后便各种网络自学,在微信官方文档里面发现了这么一个神奇的东西 mode !!!

属性类型默认值必填说明
modestringscaleToFill图片裁剪、缩放的模式

mode 的默认值是scaleToFill,功能是缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素,就不符合我们所需要的。

我们所需要的保持长宽比不变的是aspectFitaspectFill

aspectFit 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。

aspectFill 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。

下面是官网给出的实例图片:
官网示例图

根据上面两个图片,不难看出aspectFit最符合我们的要求。

需要注意的是,image组件默认宽度300px、高度225px,所以在使用时,要根据你的需要改变image的大小,我这里改成这样的style="height: 400rpx; width: 620rpx;"

下面是我的部分代码,可供参考学习。

js部分
<view class="imageCon">
      <image class='image' mode='aspectFit' style="height: 400rpx; width: 620rpx;" src="http://xiemenglei.cn/wp-content/uploads/2019/07/IMG_20190726_183123.jpg"></image>
</view>
wxss部分
/**图像的外框**/
.imageCon{
  height: 400rpx;
  border: 1px solid green;
  /**最后一行绿色框线用于测试观察使用**/
}

/**图像**/
.image{
  margin-left: 20rpx;
  margin-right: 20rpx;
  border-radius: 10rpx;
  border: 1px solid green;
}

效果如图所示:
演示图1
演示图2
创作不易,欢迎点赞支持!!!
转载请注明出处。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值