CSS only custom Checkbox
by Ayyappan Sakthivadivel
HTML
<script src="<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>"></script>
<h2>CSS only custom Checkbox</h2>
<div class="box">
<div class="checkbox">
<label>
<input type="checkbox" />
<i class="input-helper"></i>
<span>Maecenas faucibus mollis interdum.</span>
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" />
<i class="input-helper"></i>
<span>Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</span>
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" />
<i class="input-helper"></i>
<span>Donec sed odio dui.</span>
</label>
</div>
</div>
CSS
body {
font-size: 14px;
color: #333;
padding: 50px;
font-family: 'Roboto', sans-serif;
}
h2 {
text-align: center;
font-size: 25px;
margin: 20px 0;
color: #000;
}
.box {
width: 500px;
background: #fff;
border-radius: 3px;
padding: 50px;
float: left;
left: 0;
top: 0;
bottom: 0;
right: 0;
margin: auto;
height: 200px;
}
.checkbox {
position: relative;
margin-bottom: 20px;
}
.checkbox label {
padding-left: 30px;
display: block;
}
.checkbox input {
top: 0;
left: 0;
z-index: 1;
cursor: pointer;
opacity: 0;
position: absolute;
}
.checkbox input:checked + .input-helper:before {
border-color: #009688;
}
.checkbox .input-helper:before,
.checkbox .input-helper:after {
position: absolute;
content: "";
transition: all 200ms;
}
.checkbox .input-helper:before {
left: 0;
border: 2px solid #7a7a7a;
}
.checkbox input {
width: 15px;
height: 15px;
}
.checkbox input:checked + .input-helper:before {
background-color: #009688;
}
.checkbox input:checked + .input-helper:after {
transform: scale(1);
opacity: 1;
}
.checkbox .input-helper:before {
top: 0;
width: 15px;
height: 15px;
border-radius: 2px;
color: #fff;
}
.checkbox .input-helper:after {
content: '\2713';
font-size: 13px;
left: 3px;
top: 0x;
color: #fff;
transform: scale(0);
opacity: 0;
}