2009-07-14 14 views
1

Sagen ich folgendes hatte:ein behindertes Combobox im Internet Explorer Styling

<select disabled="disabled" style="border: 1px red solid; color: black;"> 
<option>ABC</option> 
</select> 

Firefox macht die oben mit einem roten Rand und schwarzem Text, wie ich erwarten; aber IE nicht, es scheint, native Farben für den Rand und den gesperrten Text zu verwenden. Gibt es eine Möglichkeit für mich, es zu stylen?

Für Bearbeitungsfelder war meine Problemumgehung, readOnly anstelle von deaktiviert zu verwenden, so dass ich es stylen kann, aber es scheint für Kombinationsfelder das readOnly Attribut hat keine Auswirkungen.

Hinweis: Ich brauche nur dies in IE zu arbeiten (es ist für eine Intranet-Webapp, wo Benutzer IE verwenden müssen), IE-spezifische Lösungen sind also in Ordnung.

Antwort

2

In guter Näherung können Sie Comboboxen überhaupt nicht stylen; Sie sind keine "echten" Browser-Objekte. Hier finden Sie weitere Erläuterungen und eine mögliche Problemumgehung: Is it possible to style a select box?

Alternativ können Sie, wenn Sie nur Rahmen festlegen möchten, diese in einen Bereich einschließen und an diesen Rahmen angrenzen.

<span class="disabled-select"> 
    <select disabled="disabled"> 
     <option>ABC</option> 
    </select> 
</span> 

mit

span.disabled-select { 
    border: 1px solid red; 
} 

Die meisten anderen Eigenschaften, wie Farbe, usw., wird wahrscheinlich keine Auswirkungen haben, though.

+0

Wrapping in einem Bereich kann in Ordnung sein, aber ich muss auch den Text stylen =/ –

+0

@Roy Tang: Styling der Select-Tag ist im Grunde eine nicht möglich. Das Steuerelement droplistbox ist ein Windows-Standardsteuerelement, daher werden keine HTML-Stile angewendet. – Stobor

0

Eine Möglichkeit könnte sein ... Zeichnen Sie Ihre Combobox mit in einer 1 X 1 Tabelle und die Breite entspricht der Combobox und Combobox width = 100% .. cellpadding = 0, cellspacing = 0 ... dann Zeichne deinen gewünschten Rahmen um diesen Tisch.

Verwandte Themen