Ich hatte da mal einen fiddle gemacht, welcher zeigt, wie es geht. https://jsfiddle.net/Andreas/rxvgoy1h/
Die Tricks sind 1., dass man den Umstand ausnutzt, dass man nicht auf das Input-Element klicken muss, sondern auch auf das dazugehörige Label-Element klicken kann.
Also versteckt man das Input-Element einfach (sichtbar für Screenreader) und arbeitet dann gestalterisch nur noch mit dem Label-Element.
2. gibt es den Pseudo-Selektor :checked. Diesen benutzt man dann dazu um das Label zu verändern, wenn das Checkbox/Radio aktiviert ist. Auszug aus dem Fiddle CSS:
PHP-Code:
/** activated checkbox states */
.checkbox:checked + label {
background-color: rgba(255, 0, 0, 1);
}
Lesezeichen