单选框和复选框的样式
使用unicode编码字符和before after属性,模拟选中和非选中状态 |
<input type="checkbox" id="check" name="check" />
<label for="check">Checkbox</label><br/>
<input type="radio" id='aaa' name="radio" valuse='aaa'/>
<label for="aaa">aaa我是</label><br/>
<input type="radio" id='bbb' name="radio" valuse='bbb'/>
<label for="bbb">bbb</label>
input[type=checkbox],
input[type=radio] {display: none;}
label{display: flex; align-items: center; font-size: 16px;}
input[type=checkbox]:checked + label:before,
input[type=radio]:checked + label:before {color: #000;}
/*checkbox */
input[type=checkbox] + label:before {
display:inline-block;
margin: 0 5px 0 0;
height: 12px;
width: 12px;
border: 1px solid #000;
content: "\2714";
text-align: center;
color: transparent;
font-size: 12px;
line-height: 12px;
transition: color ease .3s;
}
/*radio*/
input[type=radio] + label:before {
display: inline-block;
border-radius: 50%;
margin: 0 5px 0 0;
height: 14px;
width: 14px;
border: 1px solid #000;
content: "\26AB";
color: transparent;
font-size: 12px;
transition: font-size ease .3s;
text-align: center;
line-height: 14px;
transition: color ease .3s;
}

高级CSS计数器
input[type=checkbox] {opacity: 0; position: absolute;}
label{display: flex; align-items: center; font-size: 16px;}
input[type=checkbox] + label:before {
display:inline-block;
margin: 0 5px 0 0;
height: 12px;
width: 12px;
border: 1px solid #000;
content: "\2714";
text-align: center;
color: transparent;
font-size: 12px;
line-height: 12px;
transition: color ease .3s;
}
input[type=checkbox]:checked + label:before {color: #f00;}
.languages {
counter-reset: characters;
}
input[type=checkbox]:checked {
counter-increment: characters;
}
.total:after {
content: counter(characters);
}
<div class="languages">
<input id="c" type="checkbox"><label for="c">C</label>
<input id="C++" type="checkbox"><label for="C++">C++</label>
<input id="C#" type="checkbox"><label for="C#">C#</label>
<input id="Java" type="checkbox"><label for="Java">Java</label>
<input id="JavaScript" type="checkbox"><label for="JavaScript">JavaScript</label>
<input id="PHP" type="checkbox"><label for="PHP">PHP</label>
<input id="Python" type="checkbox"><label for="Python">Python</label>
<input id="Ruby" type="checkbox"><label for="Ruby">Ruby</label>
</div>
<p class="total">
Total selected:
</p>
