XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   CSS (http://xhtmlforum.de/forumdisplay.php?f=73)
-   -   position: absolute im IE => falsche Darstellung (http://xhtmlforum.de/showthread.php?t=49192)

ahasverosh 30.11.2007 22:39

position: absolute im IE => falsche Darstellung
 
Hallo,

ich habe eine Webseite gestaltet, die nur einen kleinen Fehler aufweist:
Im IE7 rutschen die Bilder nach oben. Im FF und Opera ist alles korrekt.

Tagungspartner - Machen Sie Ihr Marketing zum Event!

Ich kann den Fehler einfach nicht finden...
Hat jemand eine Idee?

Viele Grüße
Ahasver

P.S. Ich bin mir nicht sicher, aber ich glaube, dass in den meisten Fällen der Abstand um exakt 10px falsch ist.

IChao 30.11.2007 23:06

Collapsing margins.

Der margin-top der h2 kann im IE nicht mit div.pg kollabieren, da div.pg haslayout=true ist. Damit verschiebt sich alles um 11px nach unten.

div.pg ist aber gleichzeitig der containing block für das a.p. img#technik3
dessen top-offset von 111px ist von den Schwierigkeiten der h2 aber unbeeindruckt.

Das Bild ist nicht höher, sondern der Text niedriger.

ahasverosh 30.11.2007 23:23

Was heißt das genau: "margin-top der h2 kann im IE nicht mit div.pg kollabieren"? Was bedeutet "div.pg haslayout=true"?
Was bedeutet "a.p."?

Gibt es einen Link, wo ich mehr darüber erfahren könnte?

Danke schon einmal. Alleine hätte ich das nie herausgefunden.

Ahasverosh

IChao 30.11.2007 23:49

CSS2.1:8.3.1 Collapsing Margins ist ein Grundkonzept in CSS.
Zitat:

Two or more adjoining vertical margins of block boxes in the normal flow collapse. The resulting margin width is the maximum of the adjoining margin widths.
Will in deinem Fall einfach sagen, dass der top-margin der h2 erst über der Oberkante des div.pg auftaucht.

Nicht im IE. Dort verhindert haslayout das margin-collapsing. Deswegen etabliert sich der margin-top der h2 innerhalb von div.pg

In normalen Browsern würde man in einem solchen Fall von einem Vorgang des uncollapsing margins sprechen. Dazu reicht eine border oder ein winziges Stück Padding, um dieses Kollabieren zu verhindern.
Statt von "Kollabieren" kann man vielleicht besser von einem "Zusammenfallen" sprechen.
Margins von Floats kollabieren auch nie, solche von absolut positionierten Elementen, von Overflows, von Tabellen ... alles, was einen neuen Block Formatting Context erzeugt, zeigt kein margin collapsing.

Mit a.p. meinte ich etwas lax: absolut positioniert.


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:22 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023