IE8 et mode quirks
Ne IE8 exécuter en mode quirks, comme IE6/7?
J'ai une page web qui a vraiment bizarre code. Le contenu est centré avec un rembourrage et des marges négatives.
Il fonctionne correctement sous IE6/7 et les autres navigateurs mais dans IE8 la zone de contenu est la moitié de sa largeur et de ne pas centré (indicateur de mode quirks).
Le code source a trois lignes vides avant le DOCTYPE. Je sais qui va jeter IE6 en mode quirks. Il sera également affecter IE8?
Je n'ai pas accès à la source donc je ne peut pas supprimer ces lignes pour le tester.
- Enregistrer dans votre ordinateur et de modifier la source. Voir si l'entrelacement de ces lignes vides œuvres. En mode Quirks doit être évité comme la peste.
- Lorsque vous êtes à la page, vous n'êtes pas sûr, il suffit de coller le texte suivant dans la fenêtre du navigateur javascript:alert(document.compatMode); et cela devrait vous dire que le mode en cours.
- s/fenêtre du navigateur/navigateur barre d'adresse
- si vous essayez de résoudre rapidement le problème, utilisez le Mode de Compatibilité de IE8. Définitivement correctif, vous devez modifier le fichier CSS. Lors de l'utilisation minimale de la largeur de la propriété, vous devez spécifier la largeur aussi bien sous IE8. Vous avez besoin d'ajouter une seule ligne de code et la page sera bien dans IE8: Fichier: structures.css, ligne 13: width: 1000px;
- cela a résolu mon mode quirks problème: stackoverflow.com/questions/6294301/...
Vous devez vous connecter pour publier un commentaire.
Exécutant quelques tests rapides qui peuvent être trouvés ici semblent indiquer que les lignes vides ne devraient pas jeter IE8 en Mode Quirks (qui est différent Mode de Compatibilité que tout le monde semble se confondre avec).
J'ai écrit une ventilation sur la façon incroyablement déroutant les différents modes de IE8/7 ici et je ne comprend même pas en Mode Quirks dans la répartition. Une description détaillée du mode Quirks peut être trouvé ici (pas pour la question d'origine, mais d'autres pourraient trouver intéressant.)
Changer le doctype HTML 5 devrait corriger certains problèmes. J'ai eu un problème avec min-width dans IE8 à l'aide de doctype Strict.
Donc changé cela:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
À ceci: <!DOCTYPE html>
Voir ici: http://davidnaylor.org/blog/2008/09/ie8-and-max-width.html
Aujourd'hui, j'ai changé de nos DOCTYPE dans le XHTML v1.0 (Stricte) de HTML5. J'ai lu quelque part que même si les IE ne reconnaissant pas le DOCTYPE encore, ils vont rendre la page en respectant les standards de mode.
Quand j'ai vérifié dans IE8, l'ensemble de la page regardé whack (nous avons tout à fait un peu de CSS et d'autres de style). Il a fallu un certain temps avant de me rendre compte qu'il n'y avait pas quelque chose de "mal" avec le CSS, ou même IE8 pour cette question. Toutefois, il a ÉTÉ rendu en mode quirks.
Par inadvertance, j'ai trouvé la réponse dans la question posté ici, précisément ce commentaire: "Le code source a trois lignes vides avant le DOCTYPE. Je sais qui va jeter IE6 en mode quirks. Il sera également affecter IE8?"
Je ne connais pas les lignes vides, mais quand j'ai fait le changement, j'avais utilisé un javascript commentaire pour "accrocher" mon vieux déclaration DOCTYPE (qui était au-DESSUS de la nouvelle DOCTYPE HTML5). Une fois que j'ai retiré de ces lignes (qui peut inclure une ligne vide ou deux), ma transpiration arrêté et IE8 rendus en respectant les standards de mode.
Oui, il le fait. Internet Explorer est en mode quirks est IE5.5. IE6/7/8 de revenir à 5.5 lorsque le mode quirks est présent. Donc, depuis qu'il a été fonctionne correctement dans IE6/7, il n'est pas en mode quirks. Il y a un "Affichage de Compatibilité" dans IE8 pour répondre à cette question. Ce n'est pas une bonne solution pour moi. Vous aurez à vérifier votre code CSS.
IE8 a un mode de compatibilité qui doit traiter la page de la façon IE7 serait. Avez-vous essayé de l'affichage de la page en mode de compatibilité?
Pouvez-vous poster un lien vers la page ou certains de le HTML lui-même? Vous pourriez essayer d'ajouter la balise meta pour forcer le mode de compatibilité?
http://www.ditii.com/2008/08/28/ie8-standards-mode-and-ie7-compatibility-mode/
ou pour plus d'infos:
http://blogs.msdn.com/ie/archive/2008/08/27/introducing-compatibility-view.aspx