In general, there is such a code
.button { background: url(http://imgur.com/OqeWzGn.png) -143px -38px; background-repeat: no-repeat; display: inline-block; width: 14px; height: 14px; cursor: pointer; } .checked { background-position: -161px -38px; } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <label for="sde" class="button" onclick="$(this).toggleClass('checked')"></label> <input type="checkbox" name="asd" id="sde"> Edge input is behind label. And sometimes it turns out that on label checked , but not on input. And the rest is fine
checkedthen the label has the class .checked - ishidex2