+
95
-

回答

在微信小程序中,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 样式。

网友回复

我知道答案,我要回答