微信小程序自定义switch

微信小程序自带的switch,可以改变大小,颜色,但是是有局限性的,所以好多时候都需要自己去写一个。

修改微信小程序自带对的switch

/*swtich整体大小及背景色*/
.wx-switch-input{
    width:82rpx !important;
    height:36rpx !important;
    background: red !important;
    border: red !important;
}
/*关闭状态的样式*/
.wx-switch-input::before{
    width:80rpx !important;
    height: 36rpx !important;
}
/*开启状态的样式*/
.wx-switch-input::after{
    width: 40rpx !important;
    height: 36rpx !important;
}

自定义switch
<view class="switch {{isOpen? 'toggle-on' : 'toggle-off'}}" style="background-color:{{anonymousSwitch ?'#00CED0' : '#ddd'}}" bindtap="selSwitch"></view>

Page({
	data:{
		isOpen:false,//默认关闭
	},
	onLoad:function(){
	
	},
	selSwitch(){
		this.data.isOpen=!this.data.isOpen;
		this.setData({
			isOpen:this.data.isOpen;
		})
	}
})

.switch {
  position: relative;
  overflow: hidden;
  width: 100rpx;
  height: 50rpx;
  border-radius: 16px;
}

.switch::before {
  content: "";
  position: absolute;
  background-color: #D1D3D7;
  border-radius: 15px;
  transition: all ease-out 0.3s;
  -webkit-transition: all 0.3s;
}

.switch::after {
  position: absolute;
  display: inline-block;
  content: "";
  margin-top: 6rpx;
  height: 36rpx;
  width: 36rpx;
  border-radius: 50%;
  background-color: #fff;
  transition: left 0.2s ease-out;
  -webkit-transition: left ease-out 0.2s;
}

.toggle-off {
  background-color: #e5e5e5;
}

.toggle-off::before {
  width: 50px;
  height: 30px;
  left: 1px;
  top: 1px;
}

.toggle-off::after {
  left: 3px;
  box-shadow: 1px 2px 4px #aaa;
}

.toggle-on::before {
  width: 0px;
  height: 0px;
  left: 30px;
  top: 15px;
}

.toggle-on:after {
  left: 30px;
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值