Hallo sheepdog
> label {
> ...
> width: 8em;
Wie viel sind 8em?
> ...
> input {
> margin-left: 8em;
Wie viel sind 8em hier?
das problem ist nun, dass der firefox den margin-left irgendwie komisch anwendet, ...
Er wendet ihn richtig an.
In CSS Numerische Angaben steht bei em: "Steht für bezogen auf die
Schriftgröße des Elements". Wie groß ist die Schriftgröße von <label>, und
wie groß ist die Schriftgröße von <input>. Wenn diese nicht zufällig
identisch sind, ergeben die Angaben für width und für margin-left
unterschiedliche Maße.
Wenn du Maße in em für verschiedene Elemente angibst, die voneinander
abhängig sind, soltest du die Schriftgröße dieser Elemente auch selbst
setzen.
... d.h. das input-feld liegt überhalb der beschriftung, während der opera es nebeneinanderanzeigt wie es sein soll. hätte dazu jemand eine idee?
Der Opera macht bei deinem Beispiel wohl den gleichen Fehler wie der IE, er
lässt das zum Blockelement gemachte <input> floaten, obwohl dies nur für
Inlineelemente richtig wäre.
Du hast folgende Möglichkeiten:
1. für <label> und <input> selbst die Schriftgröße festlegen, oder
2. für <input> kein display:block
und kein margin:left
, oder
3. für <input> kein margin:left
sondern auch ein float:left
.
Auf Wiederlesen
Detlef
- Wissen ist gut
- Können ist besser
- aber das Beste und Interessanteste ist der Weg dahin!