This StackOverflow answer describe cómo Estilo casillas de verificación utilizando CSS3 sin necesidad de un <label>
:¿Está permitido el pseudo-elemento antes de una entrada [type = checkbox]?
input[type=checkbox]:before {
content:""; display:inline-block; width:12px; height:12px; background:red;
}
Esto funciona en Chrome 22, pero no en Firefox o IE 9. 15
Dada la falta de apoyo en los dos últimos navegadores, , ¿el comportamiento de Chrome es válido según la especificación CSS3?
Las definiciones de pseudo-elemento se han movido a otros módulos, dejando selectores para definir solo la sintaxis y dar un breve resumen de los pseudo-elementos CSS1 y CSS2. Afortunadamente, aclararán esto para ':: before' y' :: after' en el módulo correspondiente (posiblemente la reescritura legendaria del módulo Generated/Replaced Content Level 3). – BoltClock