Si vous concevez des pages Web depuis plus de quelques mois, vous êtes probablement conscient de la difficulté d'écrire une page qui a la même apparence dans tous les navigateurs. En fait, c'est impossible. De nombreux navigateurs ont été conçus avec des fonctionnalités spéciales qu’ils étaient les seuls à pouvoir gérer. Ou ils ont des façons spéciales de gérer des choses différentes de celles des autres navigateurs. Par exemple:
- Les couches ont été créées pour être utilisées dans les navigateurs Netscape. Ils ne fonctionnent dans aucun autre navigateur et sont en fait déconseillés dans Netscape 6.x +.
- Les cadres en ligne ont été créés à l'origine pour Internet Explorer uniquement et font depuis partie de la spécification HTML.
- Internet Explorer 6.0 ajoute un espace supplémentaire (comme un) entourant les tags, sauf si vous écrivez le contenu du div sur une seule (longue) ligne. (IE 6 a beaucoup plus de bizarreries que celle-ci.)
- Netscpe 4.7 n’affichera pas les tableaux qui ne sont pas écrits avec le code HTML correct. Il affiche plutôt une page vierge. Ceci a été corrigé dans Netscape 6.
Le problème pour les développeurs de navigateurs est qu’ils doivent créer des navigateurs Web rétrocompatibles avec les pages Web conçues pour les navigateurs plus anciens. Afin de résoudre ce problème, les fabricants de navigateurs ont créé des modes de fonctionnement pour les navigateurs. Ces modes sont définis par la présence ou non d'un élément DOCTYPE et par ce que cela DOCTYPE
appels.
DOCTYPE
Je rentre plus en détail dans mon article DOCTYPE
Liste, mais voici quelques règles générales:
- Choisissez toujours le mode standard en premier. Et le standard actuel que vous devriez utiliser est HTML5: à moins que vous n’ayez une raison précise d’éviter d’utiliser HTML5.
DOCTYPE
, c’est ce que vous devriez utiliser. - Si vous devez valider des éléments hérités ou si vous souhaitez éviter de nouvelles fonctionnalités pour une raison quelconque, accédez à HTML 4.01 strict:
- Si vous avez des images découpées dans une table et que vous ne voulez pas les réparer, accédez à Transitional HTML 4.01:
- N'écrivez pas de pages délibérément en mode quirks. Toujours utiliser un
DOCTYPE
. Cela vous permettra d'économiser du temps de développement à l'avenir et n'aura aucun avantage. IE6 perd rapidement de sa popularité et en concevant pour ce navigateur (qui est essentiellement ce qu’est la conception en mode quirks), vous vous limitez, vos lecteurs et vos pages. Si vous devez écrire pour IE 6 ou 7, utilisez des commentaires conditionnels pour les prendre en charge, au lieu de forcer les navigateurs modernes à passer en mode quirks.
Pourquoi utiliser DOCTYPE
Une fois que vous êtes au courant de ce type de DOCTYPE
vous pouvez affecter vos pages Web plus directement en utilisant un DOCTYPE
cela indique ce que le navigateur peut attendre de votre page. En outre, une fois que vous commencez à utiliser DOCTYPE
, vous allez écrire du HTML plus proche de la validité (vous devez quand même le valider). Et en écrivant du XHTML valide, vous encouragez les fabricants de navigateurs à créer des navigateurs conformes aux normes.
Versions du navigateur et mode Quirks
DOCTYPE | AndroidChromeFirefoxIE 8+iOSOpera 7.5+Safari | IE 6IE 7Opera 7 | Netscape 6 |
---|---|---|---|
Aucun | Mode de quirks | Mode de quirks | Mode de quirks |
HTML 3.2 | |||
Mode de quirks | Mode de quirks | Mode de quirks | |
HTML 4.01 | |||
De transition | Mode Standards * | Mode Standards * | Mode Standards |
De transition | Mode de quirks | Mode de quirks | Mode de quirks |
Strict | Mode Standards | Mode Standards * | Mode Standards |
Strict | Mode Standards | Mode Standards * | Mode Standards |
HTML5 | |||
Mode Standards | Mode Standards * | Mode de quirks | |
* Avec ce DOCTYPE, les navigateurs sont proches des normes, mais présentent quelques problèmes: assurez-vous de les tester. Ceci est également connu sous le nom de «mode quasi standard». |