2008-09-15 10 views
48

Je suis récemment tombé sur un bug d'IE7 que je pensais partager alors quand je viendrai sur ce site dans 6 mois pour trouver la même chose, je l'aurai en main.IE7 CSS Scrolling Div Bug

je crois que la meilleure façon de recréer ce bug serait le code HTML suivant dans une page avec une doctype déclarée (cela fonctionne correctement en mode "Quirks"/non-doctype):

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

Dans IE7, le div externe est de taille fixe et le div interne est relativement positionné et contient plus de contenu (en supposant que le div interne provoque un débordement). Dans tous les autres navigateurs, cela semble fonctionner comme prévu.

Screenshot: bug screenshot

+0

@mattalxndr - Mise à jour avec capture d'écran. –

Répondre

98

Le moyen le plus fixe serait d'ajouter position: relative; à la div extérieure. Cela fera fonctionner IE7 comme prévu.

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

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

+7

Wow .. merci beaucoup pour ça! Tu m'as sauvé 2 jours avant un déploiement de production! –

+7

si vous étiez un bonbon, vous seriez un sauveteur – BigOmega

+2

Je sortais juste mes cheveux à la recherche d'une solution à cela - merci! – Reno