<div class="switch-box">
<input id="switch-me" type="checkbox">
<label for="switch-me" class="option">
<span class="active-state">ON</span>
<i class="icon"></i>
<span class="inactive-state">OFF</span>
</label>
</div>
@import "lesshat";
.switch-box {
position: relative;
overflow: hidden;
text-align: left;
margin: 60px auto;
width: 60px;
padding: 5px;
background: #e5e5e5;
border: solid 1px #dddedf;
border-radius: 50em;
input {
position: absolute;
left: -9999em;
}
.option {
cursor: pointer;
display: block;
background: none;
position: relative;
padding: 0;
min-height: 0;
width: 200px;
left: -35px;
transition: all ease-in-out 0.5s;
}
.active-state, .inactive-state {
text-transform: uppercase;
padding: 0 5px;
font-family: Arial;
vertical-align: middle;
font-size: 15px;
display: inline-block;
}
.inactive-state {
padding-left: 0;
}
.icon {
vertical-align: middle;
width: 23px;
height: 23px;
background: #ac1f1f;
border-radius: 50em;
display: inline-block;
transition: all ease-in-out 0.5s;
}
input:checked ~ .option {
left: 0;
.icon {
background: #2f905d;
}
}
}
View Compiled
This Pen doesn't use any external CSS resources.