Aquí hay un truco que funciona en los navegadores más recientes (IE9 +) como una solución única de CSS que se puede mejorar con javascript para admitir IE8 y versiones anteriores.
<div>
<input type="checkbox" id="checkboxID" name="checkboxName" value="whatever" />
<label for="checkboxID"> </label>
</div>
Diseñe el estilo label
con el aspecto que desea que tenga la casilla de verificación
#checkboxID
{
position: absolute fixed;
margin-right: 2000px;
right: 100%;
}
#checkboxID + label
{
/* unchecked state */
}
#checkboxID:checked + label
{
/* checked state */
}
Para javascript, podrá agregar clases a la etiqueta para mostrar el estado. Además, sería aconsejable utilizar la siguiente función:
$('label[for]').live('click', function(e){
$('#' + $(this).attr('for') ).click();
return false;
});
EDITAR para modificar #checkboxID
estilos