自定义复选框不起作用

Custom checkbox don't work

我正在使用 bootstrap 3 和另一个 css 模板。我想使用模板对复选框进行样式化,但它不起作用,因为我无法使用输入区域。当我点击它时,什么也没有出现。 这是代码:

HTML:

<div class="checkbox check-primary ">
<input type="checkbox" value=""> 
<label>Guardar usuario</label>
</div>

CSS:

.checkbox {
  display: block;
  min-height: 20px;
  vertical-align: middle;
}
.checkbox input[type=checkbox] {
  display: none;
}
.checkbox label {
  display: inline-block;
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  margin-right: 15px;
  font-size: 13px;
  margin-bottom: 6px;
  color: #777a80;
  transition: border 0.2s linear 0s,color 0.2s linear 0s;
}

.checkbox label:before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  margin-right: 10px;
  position: absolute;
  left: 0px;
  top: 1.4px;
  background-color: #fff;
  border: 1px solid #c2c6cb;
  border-radius: 3px;
  transition: border 0.2s linear 0s,color 0.2s linear 0s;
}

.checkbox input[type=checkbox]:checked + label::after {
  font-family: 'FontAwesome';
  content: "\F00C";
}

.checkbox label::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 3.2px;
  top: 0px;
  font-size: 11px;
  transition: border 0.2s linear 0s,color 0.2s linear 0s;
}

就这些。当我退出这条规则时,复选框只有 运行 : .checkbox 输入[type=checkbox] { 显示:none; }

如果我有很多错误,请耐心等待!这是我的第一个问题,我也是 html 的初学者。

谢谢!!

点击标签不会改变输入状态,如果它不在 <label> 标签中。您必须将 id 添加到复选框并将带有复选框 ID 的属性 for="" 添加到标签才能使此工作:

<div class="checkbox check-primary ">
    <input id="checkbox-1" type="checkbox" value="">
    <label for="checkbox-1">Guardar usuario</label>
</div>

只是一个想法,但不是 display: none; 阻止您看到输入复选框吗?