微信小程序> 微信小程序修改(自定义)单选/复选按钮样式checkbox/radio样式自定义

微信小程序修改(自定义)单选/复选按钮样式checkbox/radio样式自定义

浏览量:2042 时间: 来源:武当山道士

原理:直接覆盖微信小程序定义的 单选/复选按钮样式,从根本上实现样式自定义;本文采用的方法不需要隐藏原来的按钮,也不需要在按钮上附加样式表。
场景:商城购物车 复选框
效果:仿天猫购物车的UI
使用:如果单独页面单独样式,就写到对应page的wxss里,如果整个小程序都用此样式,就写到app.wxss里


复选按钮(checkbox)修改及使用如下
.wxml:

   checkbox-group bindchange="checkboxChange"        label  wx:for="{{cartArr}}"           checkbox value="{{index}}"/checkbox           view{{item.name}}/view           !-- 其他布局代码 --           /label      /checkbox-group

.wxss:

/*  重写 checkbox 样式  *//* 未选中的 背景样式 */checkbox .wx-checkbox-input{   border-radius: 50%;/* 圆角 */   width: 40rpx; /* 背景的宽 */   height: 40rpx; /* 背景的高 */}/* 选中后的 背景样式 (红色背景 无边框 可根据UI需求自己修改) */checkbox .wx-checkbox-input.wx-checkbox-input-checked{   border: none;   background: red;}/* 选中后的 对勾样式 (白色对勾 可根据UI需求自己修改) */checkbox .wx-checkbox-input.wx-checkbox-input-checked::before{   border-radius: 50%;/* 圆角 */   width: 40rpx;/* 选中后对勾大小,不要超过背景的尺寸 */   height: 40rpx;/* 选中后对勾大小,不要超过背景的尺寸 */   line-height: 40rpx;   text-align: center;   font-size:30rpx; /* 对勾大小 30rpx */   color:#fff; /* 对勾颜色 白色 */   background: transparent;   transform:translate(-50%, -50%) scale(1);   -webkit-transform:translate(-50%, -50%) scale(1);}

js就不写了,都是自定义事件,跟样式无关。

同理:单选按钮(radio)是同样的修改方法,只需要把wxml文件及wxss文件中 对应的 checkbox 替换成 radio即可

.wxml:

!-- radiogroup 布局 --radio-group bindchange="radioChange"     label  wx:for="{{cartArr}}"        radio value="{{index}}"/radio        view{{item.name}}/view        !-- 其他布局代码 --        /label   /radio-group

.wxss:

/*  重写 radio 样式  *//* 未选中的 背景样式 */radio .wx-radio-input{   border-radius: 50%;/* 圆角 */   width: 40rpx;   height: 40rpx;}/* 选中后的 背景样式 (红色背景 无边框 可根据UI需求自己修改) */radio .wx-radio-input.wx-radio-input-checked{   border: none;   background: red;}/* 选中后的 对勾样式 (白色对勾 可根据UI需求自己修改) */radio .wx-radio-input.wx-radio-input-checked::before{   border-radius: 50%;/* 圆角 */   width: 40rpx; /* 选中后对勾大小,不要超过背景的尺寸 */   height: 40rpx; /* 选中后对勾大小,不要超过背景的尺寸 */   line-height: 40rpx;   text-align: center;   font-size:30rpx; /* 对勾大小 30rpx */   color:#fff; /* 对勾颜色 白色 */   background: transparent;   transform:translate(-50%, -50%) scale(1);   -webkit-transform:translate(-50%, -50%) scale(1);}
小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎