2010-06-25 15 views
9

¿Cómo puedo cambiar el color de fuente de un elemento SELECT desactivado en IE? No importa lo que intenté, se mantiene gris. Pude cambiar el fondo de gris a blanco, pero el texto dentro de la SELECCIÓN desactivada permanece igual. Lo que funciona perfectamente para Firefox no tiene ningún efecto en términos de color de fuente en IE (en este caso IE8). Se puede ver la situación más reciente de los dos navegadores aquí:¿Cómo puedo cambiar el color de la fuente de un elemento SELECT deshabilitado? (Funciona en Firefox pero no en IE)

http://www.flickr.com/photos/[email protected]/4732813702/

utilizo jQuery para desactivar el elemento de selección:

$(selectObject).attr('disabled', 'disabled'); 

y aquí está la clase CSS que yo uso para selecciona discapacidad:

select[disabled] { 
    color: black; 
    background-color: white; 
    border-style: solid; 
} 

Me resulta muy extraño que pueda cambiar fácilmente el color de fondo predeterminado de las selecciones desactivadas, pero no el color de fuente predeterminado. ¿Algún consejo o idea sobre esto? (¿O esto es completamente imposible en IE al usar CSS?)

+0

use jquery para cambiarlo también, vea mi respuesta – CuSS

+0

¿Funciona si establece que la selección se deshabilite directamente? Debe averiguar si su CSS o JavaScript le está fallando. –

+0

Richard, ¿qué quiere decir con "establecer que la selección se deshabilite directamente"? –

Respuesta

3

Puede ser imposible hacer en IE actuales. Los navegadores por venir probablemente admitirán una: pseudoclase inhabilitada (consulte http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/full/flat/css3-modsel-24.html)

+0

Según http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/full/flat/css3-modsel-24.html, el css que Emre está utilizando es compatible con IE 7 y superior . –

+0

Es importante tener en cuenta que IE7/8 solo funcionará con selectores de atributos si un DOCTYPE está definido correctamente. Entonces no hay modo raro. – steventnorris

+0

al menos en mi caso, el problema no es el selector: estoy usando una clase asignada manualmente en el deshabilitado sí mismo o el que contiene tiene algún efecto. El texto de las opciones es gris. período. – molecular

2

EDITAR: debe proporcionar soporte para la mayoría de los navegadores, y solo el 50% de los navegadores admite ese tipo de pseudoclases, por lo tanto, si yo fuera usted, me gustaría hacer esto:

$(selectObject) 
    .attr('disabled', 'disabled') 
    .css({ 
     "color":"black", 
     "background-color":"white", 
     "border-style":"solid" 
    }); 

esperemos que funcione;)

+0

Lo hice. He eliminado el CSS relevante y lo ejecuté como el código jQuery anterior. Lo que es realmente extraño es que, cuando miro la página, el fondo del selecto sigue siendo blanco y el texto en el interior sigue gris, pero utilizo las herramientas de desarrollo de Internet Explorer para ver los detalles del estilo de ese elemento seleccionado y cuando hago clic en él El panel de CSS de la herramienta de desarrollador me dice que: color: negro y color de fondo: blanco. ¡Estoy realmente perplejo! –

+0

Jugué con diferentes nombres de color para "color" y "color de fondo", el color de fondo siempre cambia, el color del texto siempre permanece igual: gris. :( –

+0

extraño, ¿tiene otra línea js que controle la fuente y el color de fondo? – CuSS

-1

aplican:

background-image: url(''); 

a su css y debería funcionar.

+0

pregunta es "cómo cambiar el color de la fuente", no de fondo. ¿O me estoy perdiendo algo? – molecular

Cuestiones relacionadas