在微信小程序中,checkbox 组件默认的样式是方形的,并且颜色是微信主题色。如果你想要改变 checkbox 的颜色并将其变成圆形,可以通过自定义样式来实现。以下是一个示例,展示了如何通过自定义样式来改变 checkbox 的颜色并将其变成圆形。
在 WXML 文件中使用 checkbox 组件:<checkbox-group bindchange="checkboxChange">
<label class="checkbox-label">
<checkbox value="item1" class="custom-checkbox" />
Item 1
</label>
<label class="checkbox-label">
<checkbox value="item2" class="custom-checkbox" />
Item 2
</label>
</checkbox-group> 在 WXSS 文件中自定义样式:/* 隐藏默认的 checkbox */
checkbox .wx-checkbox-input {
display: none;
}
/* 自定义 checkbox 样式 */
.custom-checkbox {
margin-right: 10px;
}
.custom-checkbox::before {
content: '';
display: inline-block;
width: 20px;
height: 20px;
border: 2px solid #007AFF; /* 边框颜色 */
border-radius: 50%; /* 圆形 */
background-color: white; /* 背景颜色 */
vertical-align: middle;
margin-right: 5px;
transition: background-color 0.3s, border-color 0.3s;
}
.custom-checkbox.wx-checkbox-input-checked::before {
background-color: #007AFF; /* 选中时的背景颜色 */
border-color: #007AFF; /* 选中时的边框颜色 */
}
.custom-checkbox.wx-checkbox-input-checked::after {
content: '';
display: inline-block;
width: 10px;
height: 10px;
background: white; /* 选中时的勾号颜色 */
border-radius: 50%;
position: absolute;
top: 5px;
left: 5px;
} 在 JS 文件中处理 checkbox 变化事件:Page({
checkboxChange: function(e) {
console.log('checkbox发生change事件,携带value值为:', e.detail.value);
}
}); 通过上述步骤,你可以将 checkbox 组件的样式改变为圆形,并且可以自定义颜色。请注意,这里使用了 ::before 和 ::after 伪元素来实现自定义样式,并且隐藏了默认的 checkbox 样式。
网友回复


