Sonst war es immer der Firefox, der als vorbildlich in Sachen CSS-Umsetzung galt. Nun versuche ich aber, ein Formular ohne eine Tabelle zu gestalten, was mit Chrome und Opera hervorragend geklappt. Firefox dagegen stellt sich quer, was die Sache bisher unmöglich macht.
Der Formularaufbau
Es geht um das LastNews-Formular. Im Grunde ist es simpel: Zwei Abschnitte mit Optionen, ein Absenden-Knopf. Der erste Abschnitt enthält zweimal einen Radiobutton, einen Beschreibungstext und dann entweder eine Selectbox oder ein Texteingabefeld. Beim zweiten Abschnitt entfällt der Radiobutton.
Das Problem
Das Problem ist nun der erste Abschnitt. Das soll alles in eine Reihe, erst Radiobutton, dann Bescheibungstext, beide links, und dann auf der rechten Seite das Select/die Textbox.
<fieldset>
<legend>Select Feed </legend>
<ul>
<li>
<input type="radio" name="ownfeed" value="false" checked="checked" />
<label>
Predefined
<select name="rssfeed" size="1">
<option value="http://rss.metalnews.de/">Metalnews.de </option>
<option value="http://www.metal.de/RSS/metalNewsRSS.xml">Metal.de </option>
<option value="http://www.mtv.de/news/daily.rss">MTV.de </option>
</select>
</label>
</li>
<li>
<input type="radio" name="ownfeed" value="true" />
<label>
Custom
<input name="ownrssfeed" type="text" size="15" maxlength="500" />
</label>
</li>
</ul>
</fieldset>
Kein Problem in Chrome und Opera: Alles hintereinander geschrieben, die Selectbox und das Eingabefeld nach rechts gefloated, fertig.
Firefox aber will, dass nach rechts gefloatete Elemente vor den Elementen platziert werden, die es umfließen sollen. Statt also in dem Block zu bleiben, in den das Element gesetzt wurde, wandert es eins nach unten (sogar, wenn unten nichts ist):
Ein Bug?
Wahrscheinlich kann man das nichtmal als Bug bezeichnen, es ist einfach ein anderes Verhalten. In diesem Fall aber ist es ein Verhalten, dass mir die Aufgabe unnötig erschwert. Denn natürlich will ich die Elemente so anordnen, dass sie auch in einem Textbrowser in der richtigen Reihenfolge angezeigt werden. Dazu scheint wegen Firefox Fehler wirklich eine Tabelle nötig zu sein - und genau deswegen ist das Verhalten von Chrome und Opera das richtige.