微信小程序swiper 前后边距的使用

小程序中有一个组件swiper 就是滑块视图容器

其中提供了两个属性

  previous-margin:前边距,可用于露出前一项的一小部分

        next-margin:后边距,可用于露出后一项的一小部分

假设设置 一个view的尺寸为宽为600rpx,高为600rpx,前边距为30rpx,后边距为30rpx,最终呈现结果是这样的

图一和图二

       

图三

 这是将图片尺寸设置跟屏幕宽一样的尺寸,然后就没有之间的空白间隙了,所有得为图片加上空白间距

 

 

但这并不是想要的结果,其实边距指的是后面那张图片露出来的那部分,最终结果是前后都露出相应的部分

1.确定想要图片露出的尺寸,假设为50rpx,并设置好当前图片的宽度500rpx

2.这里使用的ip6的屏幕尺寸,宽为750rpx (rpx单位:可以根据屏幕宽度进行自适应), 用屏幕宽度-图片的宽度,得到两边的边距和

  750-500=250

3.将边距拆成两部分,得到一边的边距,用边距减去露出的尺寸,得到两张图片之间的边距

   250/2-50=75

4.如图三,如果设置成一样的大小,边距就空不出来了,所以得为图片设置合适的大小,默认是改变图片盒子的宽度,但swiper-item的宽度不能改成图片的大小,只能将盒子图片居中了,盒子内边距作为空白间隙

5.图片间距 拆成两部分,分别为图片的外边距

  75/2=37.5

6.露出的尺寸 加上 外边距 就等于前后边距的值

  37.5+50=87.5

 

结果如图

          

 

 

<swiper class='swiper' previous-margin='87.5rpx' next-margin='87.5rpx'>
  <swiper-item class='back center' wx:for='{{img_list}}'>
    <image class='back' src='{{item}}'></image>
  </swiper-item>
</swiper>
.swiper{
   height: 600rpx;
}

.back{
  width: 500rpx;
  height: 600rpx;
  border-radius: 10rpx;
}

.center {
  display: flex;
  justify-content: center;
  align-items: center;
}

 

转载于:https://www.cnblogs.com/dongzhi1111/p/9882072.html

要在微信小程序中绑定swiper,可以使用以下步骤: 1. 在wxml文件中,使用swiper标签和swiper-item标签来创建swiper组件,swiper-item标签用来包裹轮播项的内容。 2. 在js文件中,使用setData方法设置swiper组件中需要用到的数据,例如图片路径、轮播项的数量等。 3. 在wxss文件中,设置swiper组件和swiper-item组件的样式,例如宽度、高度、边距、背景色等。 4. 可以在swiper组件上使用bindchange事件来监听轮播项的变化,从而实现一些自定义的逻辑,例如改变轮播项的标题、切换背景色等。 以下是一个基本的微信小程序swiper绑定示例代码: wxml文件: ``` <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" bindchange="swiperChange"> <swiper-item> <image src="{{imageUrls[0]}}"></image> </swiper-item> <swiper-item> <image src="{{imageUrls[1]}}"></image> </swiper-item> <swiper-item> <image src="{{imageUrls[2]}}"></image> </swiper-item> </swiper> ``` js文件: ``` Page({ data: { imageUrls: [ 'http://img1.imgtn.bdimg.com/it/u=1568461501,3836992787&fm=26&gp=0.jpg', 'http://img1.imgtn.bdimg.com/it/u=2811260196,2859322816&fm=26&gp=0.jpg', 'http://img0.imgtn.bdimg.com/it/u=2893242782,4177667042&fm=26&gp=0.jpg' ], indicatorDots: true, autoplay: true, interval: 3000, duration: 1000 }, swiperChange: function (e) { console.log('swiper current index:', e.detail.current) } }) ``` wxss文件: ``` swiper { width: 100%; height: 200rpx; margin-top: 20rpx; background-color: #f5f5f5; } swiper-item { width: 100%; height: 200rpx; } image { width: 100%; height: 100%; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值