如何更改引导程序复选框的颜色?

use*_*930 15 css twitter-bootstrap

我有以下 html 代码:

<div class="container">
  <form name="queryForm" class="form-inline text-center">
    <p class="checkbox-inline">
      <input type="checkbox" name="optionsRadios" id="checkOther" value="other" ng-model="formData.other" ng-true-value="'other'" ng-init="formData.other='other'">Other</p>
   </form>
 </div>
Run Code Online (Sandbox Code Playgroud)

结果是:

在此处输入图片说明

将此颜色更改为给定颜色的最简单方法是什么,例如 D7B1D7?

And*_*GHT 23

如果您使用引导程序并且需要更改复选框颜色背景,只需覆盖此样式:

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-color: green!important;
}

.custom-checkbox .custom-control-input:checked:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 255, 0, 0.25)
}
.custom-checkbox .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 0, 0, 0.25)
}
.custom-checkbox .custom-control-input:active ~ .custom-control-label::before {
  background-color: #C8FFC8; 
}
Run Code Online (Sandbox Code Playgroud)
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>


    <div class="myTest custom-control custom-checkbox">
      <input type="checkbox" class="custom-control-input" id="customCheck1">
      <label class="custom-control-label" for="customCheck1">Check this custom checkbox</label>
    </div>
Run Code Online (Sandbox Code Playgroud)

  • :D :DI 尝试找到解决方案,当我找到时,只需分享它) (2认同)

Wow*_*Wow 7

这对我有用,可以从react-bootstrap更改复选框的背景颜色。将其放入您的 CSS 中:

input[type=checkbox]{
    accent-color: green;
}
Run Code Online (Sandbox Code Playgroud)


Yas*_*ass 6

我已经为您的示例改编了.squaredThreeCodePen 中的课程。如果您想查看现场示例,我的答案底部有一个 Fiddle 链接。

这是更新后的 CSS:

/* .squaredThree */
.squaredThree {
  position: relative;
  float:left;
}

.squaredThree label {
  width: 20px;
  height: 20px;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  background: #D7B1D7;
  border-radius: 4px;
  box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.5), 0px 1px 0px rgba(255, 255, 255, 0.4);
}

.squaredThree label:after {
  content: '';
  width: 9px;
  height: 5px;
  position: absolute;
  top: 4px;
  left: 4px;
  border: 3px solid #fcfff4;
  border-top: none;
  border-right: none;
  background: transparent;
  opacity: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.squaredThree label:hover::after {
  opacity: 0.3;
}

.squaredThree input[type=checkbox] {
  visibility: hidden;
}

.squaredThree input[type=checkbox]:checked + label:after {
  opacity: 1;
}
/* end .squaredThree */
Run Code Online (Sandbox Code Playgroud)

我已更新您的 HTML 以包含另一个label,因为原始文件label用作伪复选框。这是您更新的 HTML:

<div class="container">
  <form name="queryForm" class="form-inline">
    <div class="squaredThree">
      <input type="checkbox" name="optionsRadios" id="checkOther" value="other" ng-model="formData.other" ng-true-value="'other'" ng-init="formData.other='other'">
      <label for="checkOther"></label>
    </div>
    <label class="label-text">Other</label>
  </form>
</div>
Run Code Online (Sandbox Code Playgroud)

请注意,附加项label存在于.squaredThree div. 该label有一个类的.label-text一些附加的样式规则的文字稍微移动到右面需要checkbox

.label-text {
  position: relative;
  left: 10px;
}
Run Code Online (Sandbox Code Playgroud)

最后,检查的大小checkbox不太正确,因此需要额外的规则来纠正:

*,
::before,
::after {
  box-sizing: initial;
}
Run Code Online (Sandbox Code Playgroud)

Fiddle Demo显示了上面的操作。

  • 如果你用`.container` 类包装每个复选框它解决了这个问题:https://jsfiddle.net/yassarikhan786/pvyp4mL3/ (2认同)