CSS-Angaben für Elemente, die disabled sind

Status
Nicht offen für weitere Antworten.

vop

Erfahrenes Mitglied
Hi Leute,

ich habe da eine ganz spezielle Frage.

Ich habe in einer Seite verschiedene Elemente, die dynamisch erzeugt werden und manchmal disabled sind (Beispiele der Einfachheit halber gekürzt)

Bspw. mal so (nicht editierbar):
Code:
<input type="text"  class="Eingabe" name="Vorname" value="Heinz" disabled>
und mal so (editierbar):
Code:
<input type="text"  class="Eingabe" name="Vorname" value="Heinz">

sowie auch bspw: (nicht editierbar)
Code:
<select name="Auswahl" class="Eingabe"  disabled >
<option value="PDF">PDF</option>
<option value="TXT">Text</option>
</select>
oder eben so (editierbar):
Code:
<select name="Auswahl" class="Eingabe">
<option value="PDF">PDF</option>
<option value="TXT">Text</option>
</select>

und (nicht editierbar):
Code:
<input type="checkbox" checked value="true" name="CB"  class="Eingabe"  disabled >
oder eben editierbar so
Code:
<input type="checkbox" checked value="true" name="CB"  class="Eingabe" >

Diese Elemente sind Teile eines Formulares, welches zeitweise halt nicht editierbar und zu anderen Zeiten eben doch editierbar sein soll.
( readonly statt disabled würde für Texteingaben das Problem wohl lösen, aber nicht für Selectboxen oder Checkboxen).

Soweit so gut, das funktioniert auch wie gewünscht.

Mein Problem:
In einer zentrallen css - Datei sind für die Klasse Eingabe entsprechende Farb-Vorgaben gemacht, was Schrift-Farbe und Hintergrund betrifft (neben weiteren Angaben).
Für Elemente, die disabled sind, wird aber das sogenannte "ausgrauen" verwendet.
D.h. die Schriftfarbe wird grau und ggf. auch der Hintergrund (bei Select-Boxen und Checkboxen)
Bei manchen Farb-Kombinationen führt das zu schwer lesbarem Text.

Hat jemand von Euch eine Idee, ob es da Gestaltungsmöglichkeiten gibt?
vop
 
Offiziell müsste es so ungefähr heissen:
Code:
input[disabled]
{
background:gray;
color:silver;
...
}
Der InternetExplorer schert sich - wie üblich in Sachen CSS - einen Dreck um die Standarts... Mir wär im IE auch keine Möglichkeit bekannt, wie man das mit CSS lösen könnte.
 
Danke für Deine Antwort!

input[disabled]

bzw. auch

input.EineKlasse[disabled]

scheint soweit zu funktioneren.

Zumindest reagiert Mozilla geringfügig auf diese Angaben, so dass man erkennt, dass es im Prinzip geht.
Leider wird aber nicht das komplette Element eingefärbt, wenn ich eine Hintergrundfarbe vergebe und die Schriftfarbe läßt sich leider auch nicht ändern :-(
Mozilla zeigt einen kleinen gefärbten Extra-Rahmen um ein weiterhin graues Kästchen und der Internet-Explorer "setzt Standards", anstatt sie zu kennen, d.h. hier sieht man gar keinen Unterschied....

Aber trotzdem Danke, jetzt weiß ich wenigstens, wie es (doch nicht) geht.
vop
 
Das liegt daran, dass manche Elemente von Mozilla von vorneherein mit "!important" gekenzeichnet sind.
Das Verhalten ist gewollt... Allerdings könntest du die Standart-CSS-Dateien anpassen, was allerdings nur bei deinem Browser nen effekt hätte.
Bei älteren Mozilla versionen sind diese Standart werte noch nicht gesetzt. Da sollte es wie gewollt funktionieren.

Rein theoretisch könntest du auch deine Felder als readonly setzen und dann mit
input[readonly]
arbeiten. Sollte auch mit select und textarea funktionieren. Bei Checkboxen bin ich mir aber nicht sicher...
 
wie gesagt, mit readonly kann ich leider weder bei Checkboxen noch bei Select-Boxen das Ändern von Werten verhindern....
vop
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück