代码片段
<!-- 轮播图开始 -->
<view class="index_swiper">
<!--
1 swiper 标签存在默认的宽度和高度
100% * 240px
2 image标签也存在默认的宽度和高度
320px * 240px
3 设计图和轮播图
1 假设原图的宽高 750 * 340
2 让图片的高度自适应 宽度 等于100%
3 让swiper标签的高度变成和图片的高一样即可
4 图片标签
mode属性 渲染模式
widthFix 让图片的标签宽高 和 图片标签的内容的宽高都等比例发生变化
-->
<swiper>
<swiper-item wx:for="{{swiperList}}" wx:key="goods_id">
<navigator >
<image src="{{item.image_src}}" mode="widthFix"/>
</navigator>
</swiper-item>
</swiper>
</view>
<!-- 轮播图结束 -->
wxss样式
.index_swiper swiper {
width: 750rpx;
height: 340rpx;
}
/* 由于image的mode模式是widthFix ,宽高都会等比例发生变化 */
.index_swiper swiper image {
width: 100%;
}
知识点:
mode 有效值:
mode 有 13 种模式,其中 4 种是缩放模式,9 种是裁剪模式。
模式 值 说明
缩放 scaleToFill 不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
缩放 aspectFit 保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
缩放 aspectFill 保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
缩放 widthFix 宽度不变,高度自动变化,保持原图宽高比不变
裁剪 top 不缩放图片,只显示图片的顶部区域
裁剪 bottom 不缩放图片,只显示图片的底部区域
裁剪 center 不缩放图片,只显示图片的中间区域
裁剪 left 不缩放图片,只显示图片的左边区域
裁剪 right 不缩放图片,只显示图片的右边区域
裁剪 top left 不缩放图片,只显示图片的左上边区域
裁剪 top right 不缩放图片,只显示图片的右上边区域
裁剪 bottom left 不缩放图片,只显示图片的左下边区域
裁剪 bottom right 不缩放图片,只显示图片的右下边区域