利用CSS修改复选框的样式

3,977 阅读1分钟

在实际项目中根据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;
}