I use custom flags using the method described here: http://www.csscheckbox.com/
Below is my demo link, if you scroll down and check any custom flags, for some reason the screen will automatically scroll back up. How could you prevent this?
http://leongaban.com/_stack/check/demo.html
HTML
<ul> <li> <input type="checkbox" name="check-1" id="check-1" class="css-checkbox" /> <label for="check-1" class="css-label radGroup1">Option 1</label> </li> <li> <input type="checkbox" name="check-2" id="check-2" class="css-checkbox" /> <label for="check-2" class="css-label radGroup1">Option 2</label> </li> <li> <input type="checkbox" name="check-3" id="check-3" class="css-checkbox" /> <label for="check-3" class="css-label radGroup1">Option 3</label> </li> </ul>
CSS
input[type=checkbox].css-checkbox { position:absolute; z-index:-1000; top:-1000px; overflow: hidden; clip: rect(0 0 0 0); height:1px; width:1px; margin:-1px; padding:0; border:0; } input[type=checkbox].css-checkbox + label.css-label, input[type=checkbox].css-checkbox + label.css- label.clr { padding-left:22px; height:17px; display:inline-block; line-height:17px; background-repeat:no-repeat; background-position: 0 0; font-size:17px; vertical-align:middle; cursor:pointer; } input[type=checkbox].css-checkbox:checked + label.css-label, input[type=checkbox].css-checkbox + label.css-label.chk { background-position: 0 -17px; } label.css-label { background-image:url(http://csscheckbox.com/checkboxes/u/csscheckbox_8fa6297cf86891252915e1a1f59b58df.png); -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
source share