Question

  • Qu'est-ce que DOCTYPE et pourquoi est-ce que je veux l'utiliser?
  • Quels sont les différents DOCTYPE que je peux utiliser?
  • Quelle est la différence entre le mode standard et le mode quirks et quels sont les problèmes que je pourrais rencontrer avec des DOCTYPE définis différemment?

Enfin, quel est le DOCTYPE approprié que je devrais utiliser?

Était-ce utile?

La solution

Fondamentalement, le DOCTYPE décrit le code HTML qui sera utilisé dans votre page.

Les navigateurs utilisent également DOCTYPE pour déterminer le rendu d'une page. Ne pas inclure un DOCTYPE ou un DOCTYPE incorrect peut déclencher le mode quirks. Le kicker ici est que le mode quirks dans Internet Explorer est assez différent du mode quirks dans Firefox (et autres navigateurs), ce qui signifie que vous aurez beaucoup plus de mal à essayer de vous assurer que votre page fonctionne de manière cohérente dans tous les cas. les navigateurs si les pages sont rendues en mode quirks que vous le ferez si elles sont rendues en mode standard.

Wikipedia a un résumé plus détaillé des différences de rendu lors de l'utilisation de différents DOCTYPEs . XHTML est activé par certains doctypes, et l’utilisation de XHTML fait l’objet de nombreuses discussions, qui sont bien décrites dans XHTML & # 8201; & # 8212; & # 8201; mythes et réalité .

Il existe des différences subtiles entre différentes " réclamations relatives aux normes " des doctypes de rendu, tels que le doctype HTML5 (<!DOCTYPE html>, antérieurement à HTML5 uniquement connu sous le nom & "; skinny doctype &"; ne déclenchant pas le rendu standard dans les navigateurs plus anciens) et d'autres DOCTYPE tels que celui-ci pour HTML 4.01 transitoire:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Autres conseils

DOCTYPE indique à l'agent utilisateur consommateur (navigateurs Web, robots d'indexation Web, outils de validation) quel type de document est le fichier. Son utilisation garantit que le consommateur analyse correctement le code HTML tel que vous le souhaitiez.

Il existe plusieurs types de DOCTYPES pour HTML, XHTML et les jeux de cadres, chacun ayant ses deux modes Strict et Transitional. Strict indique que votre marquage utilise exactement les standards définis. Voir la page DTD du W3C pour plus de détails.

Quirksmode est à la base la méthode de mise en page des temps de guerre du navigateur, lorsque les normes étaient beaucoup moins respectées et définies. En règle générale, une page en mode standard valide est mise en page de manière plus cohérente sur différents navigateurs, mais peut ne pas disposer de certaines fonctionnalités requises. L'une de ces caractéristiques est l'attribut cible de la balise d'ancrage. Le site Quirksmode est une excellente ressource pour ces différences.

Une dernière idée est que le nouveau standard HTML5 propose d'utiliser un DOCTYPE très simple:

  

<!DOCTYPE html>

L’utilisation de ce DOCTYPE est une méthode de compatibilité en aval pour spécifier que vos pages sont en mode standard et en HTML. C’est la méthode que Google utilise et qui est relativement facile à retenir. Je recommande d’utiliser ce DOCTYPE sauf si vous envisagez d’utiliser XHTML.

Un type de document définit la version de HTML / XHTML utilisée par votre document. Vous voudriez utiliser un type de document pour que, lorsque vous exécutez votre code par le biais de validateurs, ceux-ci sachent à quelle version de HTML / XHTML vérifier. Cette page fournit un bon aperçu:

N'oubliez pas d'ajouter un type de document

Les doctypes courants que vous pouvez utiliser sont listés ici:

Liste recommandée de DTD

Le type de doctrine à utiliser dépend du code que vous utilisez, mais pour vous faire une idée, essayez de l'exécuter via le validateur W3C et utilisez le menu déroulant Type de document du & Plus d'options " menu pour essayer différents doctypes.

Service de validation du balisage W3C

En HTML (y compris XHTML) tel qu’il est utilisé sur les pages Web, DOCTYPE est une chaîne qui déclenche l’un des modes de navigateur (mode quirks, mode standard, mode presque standard), en fonction de l’orthographe exacte de DOCTYPE. Vous souhaitez 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 de syntaxe formelle du langage de balisage. Aucun navigateur n'a jamais utilisé de DTD, ni même consulté. Cependant, ils sont utilisés par les validateurs SGML et XML tels que le Validateur de balisage W3C , sauf en mode HTML5. Par conséquent, le choix de DOCTYPE détermine le fonctionnement d'un validateur si le document lui est soumis. Cependant, le mode de fonctionnement du validateur peut également être sélectionné dans son interface utilisateur. (Les processeurs SGML et XML peuvent utiliser les DOCTYPE de différentes manières également, mais la question se limite apparemment au contexte HTML, aux navigateurs Web et aux logiciels étroitement associés.)

Il n’existe pas de liste de DOCTYPE faisant autorité. Chaque spécification ou brouillon HTML définit son propre DOCTYPE ou DOCTYPE. L'ensemble de types de documents reconnus par les navigateurs lors de la sélection du mode varie d'un navigateur à l'autre. En pratique, il n’ya aucune raison d’utiliser un DOCTYPE autre que <DOCTYPE html> as défini en HTML5 , bien que HTML5 répertorie également quelques & # 8220; DOCTYPE hérités & # 8221 ;. Vous pouvez utiliser ce DOCTYPE si vous souhaitez le mode standard (recommandé pour les nouvelles pages) et ne pas utiliser DOCTYPE si vous souhaitez le mode quirks (dont vous pourriez avoir besoin pour les pages héritées).

& # 8220; Mode standard & # 8221; désigne généralement le mode de fonctionnement dans lequel un navigateur respecte au mieux les spécifications HTML, CSS, DOM et autres. Cela ne signifie généralement pas une conformité totale. & # 8220; Mode bizarre & # 8221; est différent d’un navigateur à l’autre, mais il s’agit généralement d’une tentative d’imitation du comportement de navigateurs très anciens tels que IE 5. Le but est de maintenir les anciennes pages en état de fonctionnement, dans l’hypothèse où elles pourraient 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, plus limité du & # 8220; mode quirks & # 8221; en HTML5, qui ressemble beaucoup au document intitulé Norme de vie en mode Quirks .

Un problème typique est que les largeurs d'élément sont calculées différemment en mode quirks et en mode standard. Cela signifie que la mise en page d'une page peut être plus ou moins modifiée, voire totalement gâchée, si une page conçue pour fonctionner en mode quirks est affichée en mode standard (ou inversement).

Vous devez donc utiliser <!DOCTYPE html> pour les nouvelles pages et conserver le document DOCTYPE (le cas échéant) utilisé pour les anciennes pages.

Cependant, 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 certaines fonctionnalités CSS3, il peut s'avérer 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.

Les doctypes indiquent au navigateur dans quelle langue la page est écrite, que ce soit HTML ou XHTML. Par exemple,

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">

Indiquez au navigateur de rendre la page sous la forme HTML4 strict. Les anciens navigateurs rendaient les pages de manière incorrecte. Par conséquent, les nouveaux navigateurs simulent les erreurs des anciens navigateurs lorsqu'ils trouvent un ancien type de document.

Aujourd'hui, vous devez utiliser au moins HTML4 ou XHTML.

Une entrée de blog sur les doctypes est Corrigez votre site avec le droit DOCTYPE! (extrait de Une liste à part ).

Tout d’abord, il n’ya pas de doctype à utiliser, mais la plupart des concepteurs essaient de le faire fonctionner avec XHTML 1.0 Strict.

Un doctype n'est rien de plus qu'une déclaration des balises que vous pouvez utiliser dans votre code HTML (bien que les navigateurs puissent en utiliser plus ou moins que ce qui est défini). Vous pouvez réellement ouvrir le fichier doctype et commencer à lire ( XHTML 1.0 Strict )

Si vous ne spécifiez pas un type de document, le navigateur essaiera de le deviner, mais ne trouvera pas toujours le type correct.

Le mode Quirks n’est qu’une technique utilisée par les navigateurs pour être rétrocompatible. Un bon exemple du mode Quirks est la suivante: IE rend les boîtes

.

Sur le Web, un doctype ne dit rien, mais indique au ventilateur si vous souhaitez un mode standard, presque standard ou décalé.

Les changements en mode quirks dépendent du navigateur: Firefox, Opera, Safari et Chrome implémentent un ensemble limité de bizarreries, telles que la suppression de l'espace pour les descendeurs de texte dans un code tel que <table><tr><td><img></td></tr></table> (solution: td img { vertical-align:bottom; }). Par contre, IE retourne au moteur de rendu dans IE5.5. Cela signifie que vous ne pourrez utiliser aucune des nouvelles fonctionnalités implémentées depuis 2000.

Pour activer le mode standard, je suggère d'utiliser le doctype HTML5, <doctype html>, car c'est le plus simple à retenir.

Un doctype est un document décrivant comment le contenu d'un document de type xhtml peut ressembler (comme une page Web). Remarque: ceci définit uniquement la syntaxe de ladite page, le rendu de la page n'est PAS défini par la DTD!

Par exemple, un type de document pourrait définir l’apparence de la balise <table> - les attributs qu’elle accepte et les valeurs / types de valeur acceptés pour chaque attribut. Considérez-le comme un lexique de votre page Web actuelle.

Wikipedia contient une page informative sur les différents types de doctypes couramment utilisés. Remarquez, rien ne vous empêche de créer votre propre doctype. Il est toutefois probable que le navigateur ne sache pas comment rendre votre document.

La DTD à utiliser dépend de ce que vous allez écrire. XHTML a une DTD complètement différente de HTML, par exemple.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top