2009-12-06 5 views
1

Jetez un oeil à cette page dans IE 8: http://labs.pieterdedecker.be/hetoog/layout.htmPourquoi Internet Explorer ne rend pas cette page correctement?

Il a l'air bien au début, mais essayer planant au-dessus d'un élément, puis en prenant votre souris hors de la grille de l'élément nouveau.

Avant

Before http://img189.imageshack.us/img189/9638/beforeri.jpg

Après

After http://img338.imageshack.us/img338/6395/afteri.jpg

Remarquez comment il y a une bordure noire à droite de l'élément jaune. En outre, la police est différente.

Comment puis-je résoudre ce problème?

+0

Je ne peux pas vérifier IE8, parce que je travaille sur un mac. Vous pouvez vérifier si votre site est valide: http://validator.w3.org/check?uri=http%3A%2F%2Flabs.pieterdedecker.be%2Fhetoog%2Flayout.htm&charset=%28detect+automatically%29&doctype=Inline&group= 0 –

+0

utiliser dans votre balise de script:

+1

Je ne pense pas que cela est lié à la validité du document, mais à cause du filtre d'opacité buggy dans IE8. Avez-vous essayé avec .css ("- ms-filter", "alpha (opacity = 20)")? C'est la nouvelle syntaxe pour les filtres dans IE8. –

Répondre

3

Je mettrais tout mon argent sur le fait que c'est en raison de votre mise en page basée sur la table ... essayez d'utiliser DIVs à la place.

est ici un exemple grossier de remplacer toutes vos tables/cellules avec divs:

http://jsbin.com/akido/

essai dans IE8 et vous verrez que vous n'avez plus la question altérant ...

1

Vous devriez essayer de supprimer la table-layout: la propriété fixe assignée à table.grid dans votre CSS, j'ai lu quelque part qui peut causer des bugs dans IE8. (Cela ne devrait pas être nécessaire car il semble que vous ayez assigné des largeurs à chaque td.)

En aparté, vous devriez vraiment envisager d'utiliser plus de choses dans plus d'une classe à l'avenir. Au lieu d'essayer, vous pouvez écrire CSS comme td.note {} au lieu de td.brownnote, td.greennote, ... {}