"Badgebox: CSS checkbox badge"
Bootstrap 3.3.0 Snippet by slown1

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container"> <div class="row text-center"> <br> <br> <h1>Badgebox: CSS only checkbox badge!</h1> <h2>Works on Bootstrap 2.3.2 and up</h2> <br> <label for="default" class="btn btn-default">Default <input type="checkbox" id="default" class="badgebox"><span class="heart-shape">&check;</span></label> <label for="primary" class="btn btn-primary">Primary <input type="checkbox" id="primary" class="badgebox"><span class="heart-shape">&check;</span></label> <label for="info" class="btn btn-info">Info <input type="checkbox" id="info" class="badgebox"><span class="badge">&check;</span></label> <label for="success" class="btn btn-success">Success <input type="checkbox" id="success" class="badgebox"><span class="badge">&check;</span></label> <label for="warning" class="btn btn-warning">Warning <input type="checkbox" id="warning" class="badgebox"><span class="badge">&check;</span></label> <label for="danger" class="btn btn-danger">Danger <input type="checkbox" id="danger" class="badgebox"><span class="badge">&check;</span></label> </div> </div>
/* Hiding the checkbox, but allowing it to be focused */ .badgebox { opacity: 0; } .badgebox + .badge { /* Move the check mark away when unchecked */ text-indent: -999999px; /* Makes the badge's width stay the same checked and unchecked */ width: 27px; } .badgebox:focus + .badge { /* Set something to make the badge looks focused */ /* This really depends on the application, in my case it was: */ /* Adding a light border */ box-shadow: inset 0px 0px 5px; /* Taking the difference out of the padding */ } .badgebox:checked + .badge { /* Move the check mark back when checked */ text-indent: 0; } .heart-shape{ position: relative; width: 8px; height: 8px; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); background-color: rgba(250,184,66, 1); } .heart-shape:before, .heart-shape:after{ position: absolute; width: 8px; height: 8px; content: ''; -webkit-border-radius: 50%; -moz-border-radius: 50%; -o-border-radius: 50%; border-radius: 50%; background-color: rgba(250,184,66, 1); } .heart-shape:before{ bottom: 0px; left: -4px; } .heart-shape:after{ top: -4px; right: 0px; }
// You didn't believe it hadn't used JS, uh?

Related: See More


Questions / Comments: