Esiste un modo non JavaScript per cambiare il colore di un'etichetta quando la casella di controllo corrispondente è selezionata?
Esiste un modo non JavaScript per cambiare il colore di un'etichetta quando la casella di controllo corrispondente è selezionata?
Risposte:
Se hai
<div>
<input type="checkbox" class="check-with-label" id="idinput" />
<label class="label-for-check" for="idinput">My Label</label>
</div>
tu puoi fare
.check-with-label:checked + .label-for-check {
font-weight: bold;
}
Vedi questo lavoro . Tieni presente che questo non funzionerà nei browser non moderni.
:checked
selettore sono elencati come supportati in IE9. I documenti di Microsoft lo confermano.
<label>
quanto desideri.
Mi piace il suggerimento di Andrew, e in effetti la regola CSS deve essere solo:
:checked + label {
font-weight: bold;
}
Mi piace fare affidamento sull'associazione implicita di label
e l' input
elemento, quindi farei qualcosa del genere:
<label>
<input type="checkbox"/>
<span>Bah</span>
</label>
con CSS:
:checked + span {
font-weight: bold;
}
Esempio: http://jsfiddle.net/wrumsby/vyP7c/
:checked { box-shadow: 0 0 0 500px orange; }
. Dovrai giocare con gli z-index per assicurarti che gli elementi di pari livello non siano nascosti.
Questo è un esempio dell'utilizzo della :checked
pseudo-classe per rendere i form più accessibili. La :checked
pseudo-classe può essere utilizzata con input nascosti e le loro etichette visibili per creare widget interattivi, come le gallerie di immagini. Ho creato lo snipped per le persone che vogliono provare.
input[type=checkbox] + label {
color: #ccc;
font-style: italic;
}
input[type=checkbox]:checked + label {
color: #f00;
font-style: normal;
}
<input type="checkbox" id="cb_name" name="cb_name">
<label for="cb_name">CSS is Awesome</label>
Non puoi farlo solo con i CSS. Usando jQuery puoi fare
HTML
<label id="lab">Checkbox</label>
<input id="check" type="checkbox" />
CSS
.highlight{
background:yellow;
}
jQuery
$('#check').click(function(){
$('#lab').toggleClass('highlight')
})
Funzionerà in tutti i browser
:checked
pseudo selettore è una funzionalità CSS3.