Dans le langage HTML (y compris le XHTML) tel qu'il est utilisé sur les pages Web, DOCTYPE est une chaîne qui déclenche l'un des quelques modes de navigateur (mode quirks, mode standards, mode presque standards), en fonction de l'orthographe exacte du DOCTYPE. Vous voulez l'utiliser pour sélectionner le mode de navigateur qui convient le mieux à votre page.
Formellement, en SGML et XML, une déclaration DOCTYPE est une référence à une définition de type de document (DTD), qui spécifie les règles syntaxiques formelles du langage de balisage. Aucun navigateur n'a jamais utilisé les DTD pour quoi que ce soit, ni même accédé à celles-ci. Cependant, elles sont utilisées par les validateurs de balisage SGML et XML, tels que le programme Validateur de balisage du W3C sauf en mode HTML5. Par conséquent, le choix du DOCTYPE détermine le mode de fonctionnement d'un validateur si le document lui est soumis. Toutefois, le mode de fonctionnement du validateur peut également être sélectionné dans son interface utilisateur. (Les processeurs SGML et XML peuvent également utiliser les DOCTYPE de différentes autres manières, mais la question est apparemment censée se limiter au contexte HTML et aux navigateurs Web et logiciels étroitement liés).
Il n'existe pas de liste de DOCTYPE faisant autorité. Chaque spécification ou projet HTML définit son propre DOCTYPE, ou ses propres DOCTYPE. L'ensemble des DOCTYPE reconnus par les navigateurs lors de la sélection du mode varie selon le navigateur. En pratique, il n'y a pas de raison d'utiliser un DOCTYPE autre que <DOCTYPE html>
comme défini dans le HTML5 HTML5 énumère également quelques "anciens DOCTYPE". Vous pouvez utiliser ce DOCTYPE si vous voulez le mode standard (recommandé pour les nouvelles pages) et n'utiliser aucun DOCTYPE si vous voulez le mode bizarrerie (dont vous pouvez avoir besoin pour les anciennes pages).
Le "mode standard" désigne généralement le mode de fonctionnement dans lequel un navigateur suit du mieux qu'il peut les spécifications HTML, CSS, DOM et autres. Il ne s'agit généralement pas d'une conformité totale. Le "mode bizarrerie" diffère selon les navigateurs, mais il s'agit généralement d'une tentative d'imitation du comportement de très anciens navigateurs comme IE 5. Le but est de faire fonctionner les anciennes pages, en partant du principe qu'elles peuvent s'appuyer sur des fonctionnalités et des bogues des anciens navigateurs. Voir la description Que se passe-t-il en mode Quirks ? Notez qu'il existe un concept assez différent et plus limité de "quirks mode" en HTML5, qui ressemble beaucoup au document appelé Bizarreries Mode Niveau de vie .
Un problème typique est que la largeur des éléments est calculée différemment en mode quirks et en mode standards. Cela signifie que la mise en page d'une page peut être plus ou moins modifiée, voire totalement chamboulée, si une page conçue pour fonctionner en mode quirks est affichée en mode standards (ou vice versa).
Vous devez donc utiliser <!DOCTYPE html>
pour les nouvelles pages et conservez le DOCTYPE (le cas échéant) que vous utilisiez pour les anciennes pages.
Toutefois, le mode quirks signifie, dans certains navigateurs, que de nombreuses nouvelles fonctionnalités de CSS ne sont pas prises en charge. Cela signifie que si vous souhaitez améliorer une ancienne page avec une fonctionnalité CSS3, il peut être nécessaire de passer à un DOCTYPE qui déclenche le mode standard. Dans ce cas, vous devez examiner et tester la page pour voir si elle fonctionnera en mode standard.
10 votes
Cela ne devrait-il pas être un wiki ?