提问者:小点点

如何用CSS改变输入复选框上的背景颜色?[副本]


你好,朋友们,我想做的只是改变一个复选框的背景颜色。我累了很多事,但都没用。有人能帮忙吗?

    input[type="checkbox"] {
      background: #3d404e;
      border: #7f83a2 1px solid;
   }

共1个答案

匿名用户

我总是使用伪元素:before:after来更改复选框和单选按钮的外观。就像一种魅力。

有关更多信息,请参阅此链接

码本

步骤

  1. 使用可见性:hidding不透明度:0位置:绝对;left:-9999px等css规则隐藏默认复选框。
  2. 使用:before元素创建假复选框,并传递一个空格或一个非中断空格'\00a0'
  3. 当复选框处于:checked状态时,传递unicode内容:“\2713”,这是一个复选标记;
  4. 添加:focus样式以使复选框可访问。
  5. 完成

我是这样做的。

null

.box {
  background: #666666;
  color: #ffffff;
  width: 250px;
  padding: 10px;
  margin: 1em auto;
}
p {
  margin: 1.5em 0;
  padding: 0;
}
input[type="checkbox"] {
  visibility: hidden;
}
label {
  cursor: pointer;
}
input[type="checkbox"] + label:before {
  border: 1px solid #333;
  content: "\00a0";
  display: inline-block;
  font: 16px/1em sans-serif;
  height: 16px;
  margin: 0 .25em 0 0;
  padding: 0;
  vertical-align: top;
  width: 16px;
}
input[type="checkbox"]:checked + label:before {
  background: #fff;
  color: #333;
  content: "\2713";
  text-align: center;
}
input[type="checkbox"]:checked + label:after {
  font-weight: bold;
}

input[type="checkbox"]:focus + label::before {
    outline: rgb(59, 153, 252) auto 5px;
}
<div class="content">
  <div class="box">
    <p>
      <input type="checkbox" id="c1" name="cb">
      <label for="c1">Option 01</label>
    </p>
    <p>
      <input type="checkbox" id="c2" name="cb">
      <label for="c2">Option 02</label>
    </p>
    <p>
      <input type="checkbox" id="c3" name="cb">
      <label for="c3">Option 03</label>
    </p>
  </div>
</div>