2010-06-25 3 views
9

Wie kann ich die Schriftfarbe eines deaktivierten SELECT-Elements im IE ändern? Egal, was ich versuchte, es bleibt grau. Ich konnte den Hintergrund von Grau zu Weiß ändern, aber der Text in der deaktivierten SELECT bleibt derselbe. Was für Firefox perfekt funktioniert, hat keine Auswirkung auf die Schriftfarbe im IE (in diesem Fall IE8). Sie können die aktuelle Situation für beide Browser sehen hier:Wie kann ich die Schriftfarbe eines deaktivierten SELECT-Elements ändern? (Funktioniert in Firefox, aber nicht im IE)

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

ich jQuery verwenden, um die select-Element zu deaktivieren:

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

und hier ist die CSS-Klasse, die ich für Behinderte wählt verwenden:

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

Ich finde es sehr seltsam, dass ich die Standardhintergrundfarbe von deaktivierten Auswahlen leicht ändern konnte, aber nicht die Standardschriftfarbe. Irgendwelche Tipps oder Ideen dazu? (Oder ist das im IE komplett unmöglich, wenn CSS verwendet wird?)

+0

Verwendung jquery es zu ändern, siehe meine Antwort – CuSS

+0

es, wenn Sie SELECT nicht arbeiten direkt deaktiviert werden? Sie müssen trainieren, wenn Ihr CSS oder JavaScript Sie im Stich lässt. –

+0

Richard, was meinst du mit "setze das select so, dass es direkt deaktiviert wird"? –

Antwort

3

In aktuellen IEs ist dies möglicherweise nicht möglich. Browser kommt wahrscheinlich unterstützen: Behinderte pseudo-Klasse (siehe http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/full/flat/css3-modsel-24.html)

+0

Laut http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/full/flat/css3-modsel-24.html wird die CSS Emre verwendet von IE 7 und höher unterstützt . –

+0

Es ist wichtig zu beachten, dass IE7/8 nur mit Attributselektoren funktioniert, wenn ein DOCTYPE korrekt definiert ist. Also kein Quirk-Modus. – steventnorris

+0

zumindest in meinem Fall, das Problem ist nicht der Selektor: Ich benutze eine Hand zugewiesene Klasse auf dem Behinderten selbst oder die enthaltenen hat keine Wirkung. Der Text der Optionen ist grau. Zeitraum. – molecular

2

EDIT: Sie haben Unterstützung für die meisten Browser zu liefern, und nur 50% des Browser diese Art von Pseudoklassen unterstützt, so, wenn ich Sie, ich dies tun würde:

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

hoffe, es funktioniert;)

+0

Ich habe es getan. Ich habe das relevante CSS entfernt und es wie deinen jQuery-Code oben ausgeführt. Was wirklich seltsam ist, ist, dass, wenn ich auf die Seite schaue, der Hintergrund der Auswahl immer noch weiß ist und der Text darin immer noch grau ist, aber ich benutze die Internet Explorer-Entwicklerwerkzeuge, um die Stildetails dieses Auswahlelements zu sehen und wenn ich darauf IE klicke Das CSS-Fenster des Entwicklerwerkzeugs sagt mir Folgendes: Farbe: Schwarz und Hintergrundfarbe: Weiß. Ich bin wirklich perplex! –

+0

Ich habe mit verschiedenen Farbnamen für "color" und "background-color" gespielt, Hintergrundfarbe ändert sich immer, Textfarbe bleibt immer gleich: grau. :( –

+0

komisch, haben Sie eine andere js Zeile die Schriftart und Hintergrundfarbe steuern? – CuSS

-1

gelten:

background-image: url(''); 

zu Ihrem CSS und es sollte funktionieren.

+0

Frage ist "wie Schriftfarbe ändern", nicht Hintergrund. Oder fehlt mir etwas? – molecular