JSFiddle - React, Tailwind, and code Playground
HTML
<h3>Radio buttons</h3>
<div class="radio">
<input id="radio-1" type="radio" name="Data1" value="agree" checked />
<label for="radio-1">Yes</label>
<input id="radio-2" type="radio" name="Data1" value="disagree" />
<label for="radio-2">No</label>
</div>
<h3>Checkboxes</h3>
<div class="checkbox">
<input id="checkbox-1" type="checkbox" name="Data2" value="option1" checked />
<label for="checkbox-1">HTML</label>
<br />
<input id="checkbox-2" type="checkbox" name="Data3" value="option2" />
<label for="checkbox-2">CSS</label>
</div>
CSS
label {
display: inline-block;
cursor: pointer;
position: relative;
padding-left: 28px;
margin-right: 12px;
font-size: 16px;
line-height: 22px;
font-weight: bold;
}
input[type=radio], input[type=checkbox] {
display: none;
}
label:before {
font-weight: normal;
content: '';
display: inline-block;
width: 18px;
height: 18px;
margin-right: 10px;
position: absolute;
left: 0;
bottom: 1px;
/*background-color: #1ABFE5;*/
background: url('http://cnt.in.bookmyshow.com/bmsin/SLIMG/1_1.gif?v1');
/*box-shadow: inset 0px 2px 3px 0px #10758C;*/
}
.radio label:before {
/*border-radius: 10px;*/
}
.checkbox label:before {
/*border-radius: 3px;*/
}
input[type=radio]:checked + label:before {
content: '';
color: #f3f3f3;
font-size: 32px;
text-align: center;
line-height: 20px;
background: url('http://cnt.in.bookmyshow.com/bmsin/SLIMG/1_4.gif');
}
input[type=checkbox]:checked + label:before {
content: '';
text-shadow: 1px 1px 1px #10758C;
font-size: 24px;
color: #f3f3f3;
text-align: center;
line-height: 24px;
background: url('http://cnt.in.bookmyshow.com/bmsin/SLIMG/1_4.gif');
}
input[type=checkbox]:hover + label:before{
background: url('http://cnt.in.bookmyshow.com/bmsin/SLIMG/1_2.gif?v1');
}