JSFiddle - React, Tailwind, and code Playground
by Felipe Franco
HTML
<div class="holder">
<table width="100%">
<tr>
<td>Include me in the public list</td>
<td>
<div>
<input type="checkbox" />
<span></span>
</div>
</td>
</tr>
<tr>
<td>Let my friends see my phone number</td>
<td>
<div>
<input type="checkbox" />
<span></span>
</div>
</td>
</tr>
<tr>
<td>Let my friends see my email address</td>
<td>
<div>
<input type="checkbox" checked="" />
<span></span>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Save Settings" >
</td>
</tr>
</table>
</div>
CSS
body{
background: #ecf0f1;
font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 16px;
}
.holder{
background: #fff;
border-radius:5px;
box-shadow: 0 2px 3px 0 rgba(0,0,0,.1);
margin:100px auto;
padding:30px 20px 20px;
width:400px;
}
td{
border-bottom:1px solid #f6f6f6;
padding:5px 10px;
}
td:nth-child(2){
text-align: right;
width: 40px;
}
tr:last-child td{
border:none;
padding:30px 10px 10px;
text-align: center;
}
input[type=checkbox] {
cursor: pointer;
height: 30px;
margin:4px 0 0;
position: absolute;
opacity: 0;
width: 30px;
z-index: 2;
}
input[type=checkbox] + span {
background: #e74c3c;
border-radius: 50%;
box-shadow: 0 2px 3px 0 rgba(0,0,0,.1);
display: inline-block;
height: 30px;
margin:4px 0 0;
position:relative;
width: 30px;
transition: all .2s ease;
}
input[type=checkbox] + span::before, input[type=checkbox] + span::after{
background:#fff;
content:'';
display:block;
position:absolute;
width:4px;
transition: all .2s ease;
}
input[type=checkbox] + span::before{
height:16px;
left:13px;
top:7px;
-webkit-transform:rotate(-45deg);
transform:rotate(-45deg);
}
input[type=checkbox] + span::after{
height:16px;
right:13px;
top:7px;
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
}
input[type=checkbox]:checked + span {
background:#2ecc71;
}
input[type=checkbox]:checked + span::before{
height: 9px;
left: 9px;
top: 13px;
-webkit-transform:rotate(-47deg);
transform:rotate(-47deg);
}
input[type=checkbox]:checked + span::after{
height: 15px;
right: 11px;
top: 8px;
}
input[type=submit] {
background-color: #2ecc71;
border: 0;
border-radius: 4px;
color: #FFF;
cursor: pointer;
display: inline-block;
font-size:16px;
text-align: center;
padding: 12px 20px 14px;
}