在实际项目中根据UI设计改变复选框的样式,记录一下修改代码,方便以后复用。
微信小程序样式修改
/* 未选中的 背景样式 */
checkbox .wx-checkbox-input{
border-radius: 50%;/* 圆角 */
width: 46rpx; /* 背景的宽 */
height: 46rpx; /* 背景的高 */
}
/* 选中后的 背景样式 (红色背景 无边框 可根据UI需求自己修改) */
checkbox .wx-checkbox-input.wx-checkbox-input-checked{
border: 1rpx solid #FF783B;
background: #FF783B;
}
/* 选中后的 对勾样式 (白色对勾 可根据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);
}
一般的HTML中的修改方式(与微信小程序的样式基本相同,只是获取标签的方式不同)
input[type='checkbox'] {
cursor: pointer;
position: relative;
width: 1rem;
height: 1rem;
font-size: 0.9rem;
visibility: hidden;
}
input[type='checkbox']::after {
position: absolute;
top: 0;
background-color: #33d883;
color: #fff;
width: 1rem;
height: 1rem;
display: inline-block;
visibility: visible;
padding-left: 0px;
text-align: center;
content: ' ';
border-radius: 50%;
}
input[type='checkbox']:checked::after {
content: '✓';
font-size: 0.9rem;
font-weight: bold;
}