2008-09-15 4 views
48

Ich bin kürzlich auf einen IE7-Bug gestoßen, von dem ich dachte, dass ich ihn teilen würde, wenn ich in 6 Monaten auf diese Seite komme, um das gleiche herauszufinden, ich werde es zur Hand haben.IE7 CSS Scrolling Div Fehler

Ich glaube, der einfachste Weg, um diesen Fehler erstellen würde mit einem deklarierten Doctype folgende HTML in einer Seite (es funktioniert einwandfrei in "Quirks-Modus"/no-Doctype):

<div style="overflow: auto; height: 150px;"> 
    <div style="position: relative;">[...]</div> 
</div> 

In IE7, das äußere div ist eine feste Größe und das innere div ist relativ positioniert und enthält mehr Inhalt (vorausgesetzt, das innere div verursacht einen Überlauf). In allen anderen Browsern scheint dies wie erwartet zu funktionieren.

Screenshot: bug screenshot

+0

@mattalxndr - Aktualisiert mit Screenshot. –

Antwort

98

Die einfachste Lösung wäre position: relative; an der äußeren div hinzuzufügen. Dadurch wird IE7 wie vorgesehen funktionieren.

(Siehe: http://rowanw.com/bugs/overflow_relative.htm).

EDIT:Cache version of the broken link on waybackmachine.org

+7

Wow .. vielen Dank dafür! Du hast mich 2 Tage vor einem Produktionseinsatz gerettet! –

+7

Wenn du eine Süßigkeit wärst, wärst du ein Lebensretter – BigOmega

+2

Ich zog gerade meine Haare heraus, die nach einer Reparatur zu diesem suchen - danke! – Reno