Netscape und span mit width
Michael
- browser
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
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
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
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