<div>
<input type="checkbox" id="option"/>
<label for="option"> <span></span> Check and Uncheck Me </label>
</div>
<div>
<input type="radio" name="my-radio" id="radio-option-1"/>
<label for="radio-option-1"> <span></span> Pick Me </label>
</div>
<div>
<input type="radio" name="my-radio" id="radio-option-2"/>
<label for="radio-option-2"> <span></span> Or Pick Me </label>
</div>
body {
font-family: "Verdana", sans-serif;
background-color: #eee;
padding: 50px;
font-size: 30px;
}
input[type="checkbox"], input[type="radio"] {
display: none;
}
label {
cursor:pointer;
color: #555;
}
input[type="checkbox"]:checked + label,
input[type="radio"]:checked + label {
color: #FBAF29;
}
input[type="checkbox"] + label span,
input[type="radio"] + label span {
display: inline-block;
vertical-align: middle;
width: 45px;
height: 45px;
}
input[type="checkbox"] + label span {
background: url(https://sarasoueidan.com/images/checkbox-radio-sprite.png) left center no-repeat;
}
input[type="radio"] + label span {
background: url(https://sarasoueidan.com/images/checkbox-radio-sprite.png) -105px center no-repeat;
}
input[type="checkbox"]:checked + label span {
background: url(https://sarasoueidan.com/images/checkbox-radio-sprite.png) -48px center no-repeat;
}
input[type="radio"]:checked + label span {
background: url(https://sarasoueidan.com/images/checkbox-radio-sprite.png) -153px center no-repeat;
}
This Pen doesn't use any external CSS resources.