¿Existe alguna forma no JavaScript de cambiar el color de una etiqueta cuando la casilla de verificación correspondiente está marcada?
¿Existe alguna forma no JavaScript de cambiar el color de una etiqueta cuando la casilla de verificación correspondiente está marcada?
Respuestas:
Si usted tiene
<div>
<input type="checkbox" class="check-with-label" id="idinput" />
<label class="label-for-check" for="idinput">My Label</label>
</div>
tu puedes hacer
.check-with-label:checked + .label-for-check {
font-weight: bold;
}
Vea esto funcionando . Tenga en cuenta que esto no funcionará en navegadores no modernos.
:checked
selector se enumeran como compatibles en IE9. Los propios documentos de Microsoft lo confirman.
<label>
s de los deseados.
Me gusta la sugerencia de Andrew y, de hecho, la regla CSS solo necesita ser:
:checked + label {
font-weight: bold;
}
Me gusta confiar en la asociación implícita de label
y el input
elemento, así que haría algo como esto:
<label>
<input type="checkbox"/>
<span>Bah</span>
</label>
con CSS:
:checked + span {
font-weight: bold;
}
Ejemplo: http://jsfiddle.net/wrumsby/vyP7c/
:checked { box-shadow: 0 0 0 500px orange; }
. Deberá jugar con índices z para asegurarse de que los elementos hermanos no estén ocultos.
Este es un ejemplo del uso de la :checked
pseudoclase para hacer que los formularios sean más accesibles. La :checked
pseudoclase se puede utilizar con entradas ocultas y sus etiquetas visibles para crear widgets interactivos, como galerías de imágenes. Creé el recorte para las personas que quieran probar.
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>
No puedes hacer esto solo con CSS. Usando jQuery puedes hacer
HTML
<label id="lab">Checkbox</label>
<input id="check" type="checkbox" />
CSS
.highlight{
background:yellow;
}
jQuery
$('#check').click(function(){
$('#lab').toggleClass('highlight')
})
Esto funcionará en todos los navegadores.
:checked
pseudo selector es una característica de CSS3.