Absolute Positionierung ist nicht in meinem IE7 funktioniert.

October 1

Internet Explorer 6 und 7 sind berüchtigt für ihre fleckigen Darstellung von CSS-Elemente. Dies kommt in der Regel in Form von ungewöhnlichen Bugs, die schwer zu replizieren, geschweige zu beheben sind. Einen Fehler beinhaltet absolut positionierte Elemente verschwinden nach dem Zufallsprinzip. Sie können diesen Fehler beheben, aber die einfachste Lösung eine schlampige Verwendung von Divs beinhaltet.

Uneinheitlich angezeigten Elemente

Der Bug hat inkonsistente Wirkung. Wenn es aktiv, gesamte Divs ist, verschwinden die Absätze, Bilder und andere Elemente. Wenn es nicht aktiv ist, werden diese Elemente normalerweise angezeigt. Diese uneinheitliche Wirkung kann erschweren den Bug replizieren und zu beheben. Um das Problem zu testen, verwenden Sie eine echte Version von Internet Explorer 7 im Gegensatz zu einem Tester wie IETester, wie der Fehler am ehesten bei Verwendung von Internet Explorer selbst angezeigt ist.

Schwimmende Positionierung von Elementen neben absoluten Elemente

Der Fehler wird angezeigt, wenn Sie einen absolut positionierten Div neben einem schwimmenden div platzieren. Nach Sitepoints Craig Butler ergibt sich die Inkonsistenz des Timings. Wenn die Seite schnell geladen wird, ist der Fehler weniger wahrscheinlich zu manifestieren. Je länger dauert es für eine Seite um seinen Inhalt zu rendern, desto wahrscheinlicher werden Sie den Fehler auftauchen sehen.

Div-Puffer

Da der Fehler durch absolute Divs berühren schwimmende Divs verursacht wird, ist die naheliegende Lösung, die beiden zu trennen. Legen Sie ein neues Div dazwischen und weisen Sie es keine Position. Es fungiert als Puffer und schützt die absolut positionierte div. Der resultierende Code nicht sauber oder hübsch, aber es wird die Arbeit getan.

Gestalten Sie Ihr Layout

Wenn Sie Ihren Code sauber zu halten möchten, können Sie auch den Fehler beheben, indem Sie Ihre Website-Layout ändern. Machen Sie, was Veränderungen zu verhindern, dass die schwimmenden und absolute Divs ineinander notwendig sind. Die Einzelheiten dieses Verfahrens hängt vollständig von das aktuelle Layout. Wenn Sie Glück haben, können Sie einfach Ihre absolute Divs zu schwimmenden oder umgekehrt wechseln. Andernfalls müssen Sie auf weitere zeitaufwändigen Lösungen, z. B. das Neuordnen der Divs.