Hallo,
vieleicht ein Mozilla Bug ?
Nein. Lass das display:block und float: weg. Nutze die SELECT-Objekte, wie in HTML vorgesehen als %formctrl-Elemente.
Zu Deiner ersten Frage:
SELECT-Elemente sind zwar im HTML %inline-Elemente http://www.w3.org/TR/html4/sgml/dtd.html#inline, aber eben spezielle %inline-Elemente, %formctrl-Elemente http://www.w3.org/TR/html4/sgml/dtd.html#formctrl. Diese hatten nie width-Attribute, sondern höchstens size-Attribute, welche die Größe in Anzahl Zeichen bzw. Zeilen festlegen. Bei SELECT meint size allerdings die Anzahl der sichtbaren Zeilen. Nach striktem HTML ist ein SELECT also so breit, wie der längste OPTION-Eintrag.
Für CSS sind %formctrl-Elemente eben auch keine _normalen_ Inline-level-Elemente http://www.w3.org/TR/CSS21/visuren.html#inline-level, sondern wohl eher Replaced-Elemente http://www.w3.org/TR/CSS21/conform.html#replaced-element. Schließlich haben SELECTs, INPUTs und TEXTAREAs durchaus Intrinsic dimensions http://www.w3.org/TR/CSS21/conform.html#intrinsic. Deswegen wird width: auch angewendet.
viele Grüße
Axel