Michael: Netscape und span mit width

Ich möchte ein Formular mit mehreren Feldern anzeigen, die auch nebeneinander dargestellt werden sollen. Mein HTML-Code schaut so aus:

<span style="width:150px;">Frage A</span>
<select name="tumor_t" id="tumor_t" style="width:40px;">
 <option selected="selected" value="0">0</option>
 <option value="1">1</option>
 <option value="2">2</option>
 <option value="3">3</option>
 <option value="4">4</option>
 <option value="5">X</option>
 <option value="6">is</option>

</select>
<span style="width:40px;">B</span>
<select name="tumor_n" id="tumor_n" style="width:40px;">
 <option value="-1">X</option>
 <option selected="selected" value="0">0</option>
 <option value="1">1</option>
 <option value="2">2</option>
 <option value="3">3</option>

</select>
<span style="width:40px;">C</span>
<select name="tumor_m" id="tumor_m" style="width:40px;">
 <option value="-1">X</option>
 <option selected="selected" value="0">0</option>
 <option value="1">1</option>

</select><br/>

Das funktioniert im IE wunderbar, aber Netscape macht die <span>-Bereiche nicht so breit, wie eigentlich mit width: angegeben. Bei Netscape sind die Bereiche so breit, wie der Text darin.

Nach einigem Herumsuchen habe ich Tipps gefunden, wonach ich das span durch ein div ersetzen oder display:block dazufügen soll, das verschiebt die nachfolgenden Elemente aber in die nächste Zeile, was ich natürlich auch nicht will. Es soll alles in einer Zeile stehen wie beim IE.

Michael

  1. Hi,

    <span style="width:150px;">Frage A</span>

    span ist ein (non-replaced) inline-Element. Die Eigenschaft width trifft demzufolge nicht zu.

    Das funktioniert im IE wunderbar,

    Falsch. IE hat da einen Bug, daß width auf (non-replaced) inline-Elemente angewendet wird, obwohl das laut CSS-Standard falsch ist.

    aber Netscape macht die <span>-Bereiche nicht so breit, wie eigentlich mit width: angegeben.

    Und das ist vollkommen korrektes Verhalten.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Schön! Danke für Deine Antwort! Außer dass das ein "Bug" vom IE sein soll, hab ich das aber schon alles gewußt. Ist nur komisch, dass Visual Studio diesen Bug nutzt und seine WebControls so ausgibt und positioniert.

      Ich wollte eigentlich eine Lösung und keine Korrektur meiner Formulierung.

      Also: wie kann ich im Netscape einem inline-Element (d.h. ohne Zeilenvorschub vorher und nachher) eine bestimmte Breite geben?

      Mit Tabellen kann ich hier leider nicht arbeiten, weil das ein ganzer Fragebogen werden soll und die einzelnen Fragen aus einer DB kommen und das Formular dynamisch generiert wird. Da wird das mit Tabellen viel zu kompliziert.

      Michael

      Hi,

      <span style="width:150px;">Frage A</span>

      span ist ein (non-replaced) inline-Element. Die Eigenschaft width trifft demzufolge nicht zu.

      Das funktioniert im IE wunderbar,

      Falsch. IE hat da einen Bug, daß width auf (non-replaced) inline-Elemente angewendet wird, obwohl das laut CSS-Standard falsch ist.

      aber Netscape macht die <span>-Bereiche nicht so breit, wie eigentlich mit width: angegeben.

      Und das ist vollkommen korrektes Verhalten.

      cu,
      Andreas

      1. Hallo.

        Also: wie kann ich im Netscape einem inline-Element (d.h. ohne Zeilenvorschub vorher und nachher) eine bestimmte Breite geben?

        Indem du es von seinem "inline"-Sein erlöst.
        MfG, at