Maison >interface Web >tutoriel CSS >Pourquoi \'margin: 0 auto;\' ne centre-t-il pas les éléments en mode standard IE8 ?
Dans le domaine du développement Web, une anomalie déroutante est apparue, laissant les développeurs aux prises avec le comportement de "margin: 0 auto;" dans Internet Explorer 8 (IE8). Cet article se penche sur les complexités entourant ce problème et explore les raisons sous-jacentes du caractère non conventionnel d'IE8.
Le nœud du problème réside dans le centrage d'un élément de niveau bloc (dans ce cas, un bouton de saisie) dans un conteneur div. Dans la majorité des navigateurs, y compris les modes de compatibilité Firefox, Opera, Safari, Chrome, IE7 et IE8, le bouton est centré sans effort à l'aide de « marge : 0 auto ; ». Cependant, en mode standard IE8, le bouton reste obstinément décentré.
La barre d'outils du développeur Internet Explorer fournit un indice essentiel pour résoudre le mystère. En examinant la source HTML, il devient évident qu'il manque à IE8 la déclaration "!DOCTYPE", un élément crucial qui définit le type de document HTML.
L'absence de déclaration "!DOCTYPE" déclenche le mode "bizarreries" d'IE8. , un mode de compatibilité conçu pour atténuer les problèmes avec les sites Web existants. En mode bizarreries, IE8 adopte un comportement non standard, y compris une interprétation modifiée des propriétés CSS.
Pour corriger le problème de centrage, ajout d'un "!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ /FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd""> au document HTML demande à IE8 de passer en mode standards, où il adhère aux spécifications CSS modernes.
Avec la déclaration "!DOCTYPE" en place, IE8 interprète avec précision "margin: 0 auto;" comme il se doit, en centrant le bouton dans le conteneur. Ainsi, la disparité d'alignement des boutons entre les navigateurs est résolue.
En conclusion, le comportement énigmatique de "margin: 0 auto;" en mode standard IE8 provient de l'absence de déclaration "!DOCTYPE". En appliquant le mode standards via cette déclaration, IE8 s'aligne sur les autres navigateurs, garantissant un style cohérent et prévisible sur plusieurs plates-formes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!