Hallo Martin,
Ich verstehe allerdings nicht, was dich am Verhalten des FF hier stört. Ich hätte erwartet, dass du es positiv bewertest, wenn er die aufgeklappte Liste bei Bedarf schon von sich aus verbreitert.
Grundsätzlich ja, aber:
Überlange Einträge sind dann zwar immer noch abgeschnitten, aber der IE schneidet sie ja schon an der Breite des select-Elements ab. Wenn du also schon mit Informationsverlust argumentierst - der ist im IE größer, weil früher abgeschnitten wird.
Der Unterschied beim Informationsverlust-Argument ist, dass bei der Lösung, die Einträge manuell zu kürzen, dieser Informationsverlust hardcodiert ist. Die Information ist GANZ weg. So allerdings bleibt der vollständige Text zumindest im Quellcode erhalten. Dass der Informationsverlust im IE größer ist, nehme ich gerne in Kauf, denn die Informationen sind in meinem Fall nicht von so großer Wichtigkeit, dass sie vollständig sichtbar sein müssen, da es nur eine Zusatzinformation ist. Was mich am FF jetzt explizit stört ist, dass die Liste so breit wird, dass sie über den Bildschirmrand geht. Und hier geht ein Teil der Usability der ComboBox verloren, denn der Scrollbalken ist nicht erreichbar => User ohne Scrollrad an der Maus haben ein Problem und die Navigation über die Pfeiltasten scheint mir unergonomisch. Generell sehe ich es also schon als positiv an, dass der FF es gut meint und versucht die kompletten Infos anzuzeigen, aber die Browserhersteller hätten ja wenigstens eine Grenze beim Bildschirmrand setzen können...
Falls du es nicht schon getan hast, würde ich mal versuchen, den option-Elementen eine Breite von 100% zu geben - in der Hoffnung, dass der FF das berücksichtigt. Immerhin nimmt er ja auch Schrift- und Hintergrundformatierungen bei option-Elementen zur Kenntnis. In diesem Fall habe ich allerdings wenig Hoffnung. Dann wären sie im FF so breit wie im IE.
Habe ich schon versucht, bringt leider auch nichts. ^^
Einen Teilerfolg erreicht man allerdings, wenn man dem Element einen Pixelwert als Breite verpasst, damit kann ich wenigstens die aufgeklappte Liste auf die korrekte Breite bringen (bzw., wenn man es ganz genau mit der CSS-Definition nimmt ist das auch wieder falsch):
http://isaac.aquilatech.org/pictures/ff2.png
Die Liste ist also jetzt so breit wie die ComboBox, aber die ausgewählten Textelemente werden abgeschnitten (die nicht-selektierten werden komplett dargestellt, weil ich overflow:visible gesetzt habe).
Jetzt könnte man ja sagen, dann bräuchte ich ja nur die absolute Breite des Select-Elements zu übergeben. Problem ist: 1. Weiß ich die genaue Breite nicht, da das Select-Element als width 100% hat und sich die tatsächliche Breite über die übergeordnete Tabellenzellenbreite regelt (die wiederrum variabel ist, je nach Fenstergröße), zweitens wäre das eine Ausnahmeregel und keine allgemeingültige.
Oh, mit den Schlaumeier-Kommentaren musst du hier immer rechnen; manchmal sind sie auf den zweiten Blick sogar wertvoller, als es zunächst scheint.
Ja, mit sowas muss man wohl in jedem Forum rechnen. :)
Was mich nur ein wenig gestört hat, war, dass Felix anscheinend (!) der Meinung war, ich hätte mich nicht wirklich mit dem Problem befasst und würde nur irgendetwas "basteln". Ich bin nämlich definitiv kein Hobbyentwickler. ;)
Und natürlich ist es immer besser, den Hilfesuchenden lieber beizubringen, das Problem zu verstehen anstatt dass man ihnen die vorgekaute Lösung gibt. Ich finde allerdings nicht, dass ich das Problem nicht ausreichend verstanden habe, und verschiedene Lösungswege habe ich wie gesagt auch schon zuvor ausprobiert. :)
Grüße,
Andreas