我有一个复选框,并且我将其样式更改为一个圆圈。现在,当用户选择复选框时,我需要显示复选标记。
如果我删除了-webkit-appearance: none;
,那么我明白了,但是我的CSS无法正常工作。
我该怎么做?
.checkbox_round {
width: 18px;
height: 18px;
background-color: white;
border-radius: 50%;
vertical-align: middle;
border: 1px solid #ddd;
outline: none;
cursor: pointer;
-webkit-appearance: none;
}
.checkbox_round:hover {
border-color: #000;
}
.checkbox_round:checked {
background-color: #f00;
}
<label><input type="checkbox" name="name1" value="1" class="checkbox_round"> check box1 </label>
<label><input type="checkbox" name="name2" value="2" class="checkbox_round"> check box1 </label>
<label><input type="checkbox" name="name3" value="3" class="checkbox_round"> check box1 </label>
答案 0 :(得分:1)
您可以使用背景图像。我建议你一个svg。
.checkbox_round {
width: 18px;
height: 18px;
background-color: white;
border-radius: 50%;
vertical-align: middle;
border: 1px solid #ddd;
outline: none;
cursor: pointer;
-webkit-appearance: none;
}
.checkbox_round:hover {
border-color: #000;
}
.checkbox_round:checked {
background-image: url(https://cdns.iconmonstr.com/wp-content/assets/preview/2012/240/iconmonstr-check-mark-1.png);
background-size: 50%;
background-position: center center;
background-repeat: no-repeat;
}
<label><input type="checkbox" name="name1" value="1" class="checkbox_round"> check box1 </label>
答案 1 :(得分:1)
您可以使用CSS进行选中标记,也可以仅使用unicode选中标记。您也可以只添加已建议的图像。
以下是前两种可能的方法:
.checkbox_round {
width: 18px;
height: 18px;
background-color: white;
border-radius: 50%;
vertical-align: middle;
border: 1px solid #ddd;
outline: none;
cursor: pointer;
-webkit-appearance: none;
}
.checkbox_round:hover {
border-color: #000;
}
.checkbox_round {
position: relative;
}
.checkbox_round:checked {
background-color: #f00;
}
.checkbox_round:checked:before {
content: "✓";
left: 3px;
top: -2px;
position: absolute;
}
.checkbox2:checked:before {
content: "";
border: 1px solid black;
border-width: 1px 1px 0 0;
height: 5px;
width: 13px;
position: absolute;
transform: rotate(135deg);
left: 3px;
top: 2px;
}
<label><input type="checkbox" name="name1" value="1" class="checkbox_round"> check box1 </label>
<label><input type="checkbox" name="name2" value="2" class="checkbox_round checkbox2"> check box1 </label>