本文详解微信小程序中swiper组件的使用方法及核心属性,重点解决轮播图在不同机型下图片变形问题。通过计算原图宽高比,利用CSS calc函数动态设置swiper高度,实现图片等比例自适应显示,确保各终端视觉效果一致。
一、swiper视图容器组件
在微信小程序开发中,swiper是构建轮播图的基础外层容器,因此实现轮播功能必须使用该标签。
二、swiper相关属性

存在默认样式: 1 width 100% 2 height 150px
三、swiper-item轮播项
swiper-item仅能嵌套在swiper组件内部,用于定义每一个具体的轮播内容项。
四、代码实现
<!-- index.wxml代码如下 -->
<view>
<swiper interval="1000" indicator-dots="true" autoplay="true" circular="true">
<swiper-item>
<image mode="widthFix" src="https://img-blog.csdnimg.cn/5589ae9720df44fda0967faaa288a553.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBALeW4jOWGgC0=,size_20,color_FFFFFF,t_70,g_se,x_16"></image>
</swiper-item>
<swiper-item class="cri">
<image mode="widthFix" src="https://img-blog.csdnimg.cn/5580029c6bed471487fe93983088cbae.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBALeW4jOWGgC0=,size_20,color_FFFFFF,t_70,g_se,x_16"></image>
</swiper-item>
<swiper-item>
<image mode="widthFix" src="https://img-blog.csdnimg.cn/1472745c740d42caa002fb5b24b0069a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBALeW4jOWGgC0=,size_20,color_FFFFFF,t_70,g_se,x_16"></image>
</swiper-item>
</swiper>
</view>编译后的实际运行效果如下所示。

五、注意事项
当切换不同机型进行预览时,会发现图片的宽高比例与显示效果出现异常。

1.分析和升级版本,解决换机型的宽高问题
①首先获取原图片的原始宽度和高度,此处示例原图尺寸为491*327 ②根据等比例原则为swiper设定宽度和高度。 计算公式为:swiper 宽度 / swiper 高度 = 原图的宽度 / 原图的高度 由此推导出: swiper 高度 = swiper 宽度 * 原图的高度 / 原图的宽度 即 swiper 高度 = calc(100vw * 327 / 491) ③需明确css中vw为视口单位,1vw等于视口宽度的百分之一,而swiper宽度默认占满屏幕即100vw 因此只需在对应的wcss文件中添加如下样式即可
swiper {
width: 100%;
height: calc(100vw * 327 / 491);
}
image {
width: 100%;
}重新编译并观察效果,此时无论切换何种机型,均能保持预期的显示效果。

到此这篇关于微信小程序中实现轮播图效果的文章就介绍到这了,更多相关小程序轮播图内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!