如何在css中给一个复选框应用两种不同的颜色?

nhaq1z21  于 2023-03-14  发布在  其他
关注(0)|答案(1)|浏览(184)

我在我的页面上使用复选框。它工作正常。但是我想一个复选框用浅蓝色,另一个用浅黄色。目前这两个复选框都是浅蓝色。我如何使另一个浅黄色?
这是我所拥有的。

input[type=checkbox] {
  position: relative;
  cursor: pointer;
margin-right: 10px;
}
input[type=checkbox]:before {
  content: "";
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  top: 0;
  left: 0;
  border: 1px solid #99AFC1;
  border-radius: 3px;
  background-color: lightblue;
  padding: 1px;
}
input[type=checkbox]:checked::before {
  background-color: lightblue;
}

input[type=checkbox]:checked::after {
  content: "";
  display: block;
  width: 5px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 2px;
  left: 6px;
}
<p><label><input type="checkbox" class="filter" value="Test1">Test1</label> <label><input type="checkbox" class="filter" value="Test2">Test2</label></p>
f5emj3cl

f5emj3cl1#

* 这在Chrome、Edge和Firefox中呈现相同的效果。

只要给予那些你想成为lightyellow的人一个class
对于跨浏览器的方法,我使用了<label><span>进行样式设置。

label.checkbox input[type="checkbox"] {
  display:none;
}
label.checkbox span {
  display:inline-block;
  border: 1px solid Gray;
  border-radius: 4px;
  width: 18px;
  height: 18px;
  background-color: lightblue;
  vertical-align: top;
  position: relative;
}
label.checkbox :checked + span {
  width: 18px;
  height: 18px;
}
label.checkbox :checked + span:after {
  content: '\2714';
  font-size: 100%;
  position: absolute;
  top: -12%;
  left: 12%;
  color: lightyellow;
}
label.checkbox.difcol span {
  background-color: lightyellow; /* New Box Color */
}
label.checkbox.difcol :checked + span:after {
  color: lightblue; /* Corresponding New Checkmark Color */
}
<p>
<label class="checkbox"><input type="checkbox"/><span></span></label> Test1
<label class="checkbox difcol"><input type="checkbox"/><span></span></label> Test2
</p>

我不得不改变复选标记的颜色,这样你就可以看到它,我称class为“difcol”,意思是“不同的颜色”,我建议你称class为“lightyellow-lightblue”,也就是说,使类的名称为你为那个框/那些框选择的颜色。

相关问题