我们在开发小程序的时候,有时候需要修改小程序中checkbox和radio的原生样式,如何修改呢?这里给大家提供了一份代码,大家可以试试。
首先是修改checkbox样式的代码:
/* 重写 checkbox 样式 */
/* 未选中的 背景样式 */
checkbox .wx-checkbox-input{border-radius: 50%;/* 圆角 */width: 40rpx; /* 背景的宽 */height: 40rpx; /* 背景的高 */
}
/* 选中后的 背景样式 (红色背景 无边框 可根据UI需求自己修改) */
checkbox .wx-checkbox-input.wx-checkbox-input-checked{border: 1px solid red;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);
}
复制
修改radio样式,代码如下:
/* 重写 radio 样式 */
/* 未选中的 背景样式 */
radio .wx-radio-input{border-radius: 50%;/* 圆角 */width: 40rpx;height: 40rpx;
}
/* 选中后的 背景样式 (红色背景 无边框 可根据UI需求自己修改) */
radio .wx-radio-input.wx-radio-input-checked{border: 2px solid red;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);
}
复制
在程序中引用上述css即可。
这里需要注意的是选中状态的样式,我这里将border设置为2px宽度,颜色改为和背景色一样,网上有的代码直接将border设置为none,这样的话宽度是会发生变化的,而border设置成2px,宽度就不会发生变化。