Moin!
So wie ich das sehe, kommt das Ding von der API des Browsers und lässt sich wohl nicht ändern.
Richtig. Formularfelder und deren CSS-Stylebarkeit sind ein diffiziles Thema. Aktuelle Browser schaffen es immerhin schon, dass Layer mit höherem z-Index die Formularfelder überdecken. Die Formatierung mit CSS hingegen ist oft ein Glücksspiel.
Wenn es nicht geht, dann geht es nicht. Es gibt keine speziellen CSS-Eigenschaften für unwillige Formularfelder. Wenn du den Rahmen ändern willst, ist die border-Eigenschaft richtig.
Allerdings ist anzumerken, dass insbesondere Select-Elemente wesentlich mehr Gestaltungsmöglichkeiten bieten (stell unter Windows einfach mal manuell an den Farben herum - alleine der 3D-Effekt des Knopfes besteht aus 3 verschiedenen Farben), als es offizielle CSS-Eigenschaften dafür gibt (gilt die background-color jetzt für den Knopf, oder für den Textbereich?). Insofern ist die Formatierbarkeit ohnehin ziemlich eingeschränkt.
Beim Firefox ist die Formatierung des Select-Elements sogar absichtlich von den Entwicklern abgeschaltet worden (durch einen Eintrag im Browser-Standardstylesheet) - in früheren Versionen ging da mal mehr.
Und andere Betriebssysteme wie OS X von Apple haben ohnehin keine einfarbigen Bedienelemente mehr, sondern diese "aqua"-Glaseffektbuttons, die man mit CSS sowieso nicht vernünftig umdefinieren könnte.
Deshalb ist mein Fazit: Von Formularelementen lasse ich meine CSS-Finger in der Regel weg, und überlasse die Darstellung dem lokalen Betriebssystemaussehen des Benutzers. Dann kann am wenigsten schief gehen.
- Sven Rautenberg
My sssignature, my preciousssss!