Gernot Back: Internet Explorer lädt margin Attribut verzögert

Beitrag lesen

Hallo Rafael,

Ich bin auf ein sehr seltsames Problem mit dem IE gestoßen. Ich bastle gerade an einer Webseite, die einen Newsletter anbietet. Dazu habe ich eine Leiste mit zwei Feldern, einer für den Namen und einen für die Email. Wenn jetzt jemand auf eines der Felder klickt soll sich die Ramendicke von 1 auf 2 erhöhen, was auch passiert.

um aber den text an der gleichen stelle zu lassen, soll sich der Rand um den einen Pixel verringern und das klappt im Prinzip auch (mit Firefox, Netscape und Opera).

Also zunächst mal:

Dein Dokument befindet sich im Quirksmodus:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Damit versuchen auch die von dir genannten Browser den Box-Model-Bug des IE-5.5 (und früherer Versionen) nachzuahmen, mit mehr oder weniger Erfolg:

http://www.carsten-protsch.de/zwischennetz/doctype/box_model_bug.html

INPUT-Elemente sind Inline-Elemente, denen man zwar einen Rahmen, Padding-Left und ~Right aber weder Margin (gleich welcher Himmelsrichtung) noch Padding-Top oder ~Bottom zuweisen kann, solange man sie in ihrer Default-Display-Eigenschaft belässt.

Wenn du aber deine Elemente, denen du rundherum einen Margin zuweisen willst, nebst den benachbarten Labels "Name" und "Email" floaten lässt, sie damit implizit zu Blockelementen machst, sie so vom gemeinsamen Zeilendasein mit dem Input vom Type Submit befreist und ggf. in den Compatmode:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">

wechselst, sollte sich dein Hüpf-Problem beheben lassen, das im wahrsten Sinne des Wortes so "marginal" ist, dass Wahsaga mich erst darauf hinweisen musste, worin es überhaupt besteht.

Gruß Gernot

PS: Es kann durchaus sein, dass ich mit der Analyse deines interessanten Problems selbst noch nicht ganz richtig liege; dann möge man mich korrigieren!