2011-12-23 17 views

Respuesta

81

la pseudo-clase :checked se aplica inicialmente a tales elementos que tienen el HTML 4 selected y atributos checked

Fuente: w3.org


Por lo tanto, esta CSS obras, aunque el estilo del color no es posible en todos los navegadores:

option:checked { color: red; } 

Un ejemplo de esto en acción, ocultando el elemento seleccionado actualmente de la lista desplegable.

option:checked { display:none; }
<select> 
 
    <option>A</option> 
 
    <option>B</option> 
 
    <option>C</option> 
 
</select>


Para el estilo de la opción seleccionada en ese momento en el cerrado desplegable, así, usted podría intentar revertir la lógica:

select { color: red; } 
option:not(:checked) { color: black; } /* or whatever your default style is */ 
+1

¿Se han probado que? Parece que [no parece funcionar] (http://jsfiddle.net/UUznB/) para mí en FF8. * actualización: * tampoco funciona en Chromium 15. – FakeRainBrigand

+0

Sí, esto estiliza la opción seleccionada en la lista desplegable, pero no en el área visible visible. –

+1

@FakeRainBrigand Comprobé que funciona en Chrome 16. – Emmett

12

En realidad sólo se puede estilo pocas propiedades CSS en : modificado opt elementos de iones color tampoco funciona, background-color, pero puede establecer background-image.

Puede combinar esto con degradados para hacer el truco.

option:hover, 
 
option:focus, 
 
option:active, 
 
option:checked { 
 
    background: linear-gradient(#5A2569, #5A2569); 
 
}
<select> 
 
    <option>A</option> 
 
    <option>B</option> 
 
    <option>C</option> 
 
</select>

Trabajos sobre Gecko/WebKit.

+0

La respuesta aceptada no funcionó para mí, pero esta solución sí. ¡Gracias! –

+0

Ya no funciona Chrome 58 – egr103

-1

Esto funcionó para mí:

select option { 
    color: black; 
} 
select:not(:checked) { 
    color: gray; 
} 
Cuestiones relacionadas