web-dev-qa-db-fra.com

Que fait <! Doctype html>?

Que fait cette balise?

<!doctype html>

Ce que je peux voir, c’est que, avec cette balise en haut, mon code html se comporte d’une autre manière que sans… .. Comment savoir si j'ai besoin de cette balise?

42

Il fait partie intégrante de HTML tel que défini dans la spécification :

8.1.1 Le DOCTYPE

Un DOCTYPE est un préambule obligatoire.

Les DOCTYPE sont obligatoires pour des raisons héritées du passé. Lorsqu'ils sont omis, les navigateurs ont tendance à utiliser un mode de rendu différent, incompatible avec certaines spécifications. L'inclusion de DOCTYPE dans un document garantit que le navigateur fait de son mieux pour respecter les spécifications pertinentes.


Modifier pour ajouter:

Que fait cette ceinture de sécurité?

Seatbelt image

Ce que je peux voir, c'est que, avec cette ceinture de sécurité, ma voiture se comporte de la même manière que sans. Comment savoir si j'ai besoin de cette ceinture de sécurité?

Vous ne saurez pas si vous en aurez besoin jusqu'à ce que quelque chose se passe mal et vous ne l'avez pas.

107
zzzzBov
DOCTYPE Declaration is the abbreviation for Document Type Declaration (DTD).

La déclaration DOCTYPE (DTD ou déclaration de type de document) fait plusieurs choses:

  1. Lors des tests de validation HTML sur une page Web, il indique au validateur HTML (HyperText Markup Language) la version de la norme (X) HTML à laquelle le codage de page Web est censé se conformer. Lorsque vous validez votre page Web, le validateur HTML vérifie le codage par rapport à la norme applicable, puis indique les parties du codage qui ne passent pas la validation HTML (qui ne sont pas conformes).

  2. Il indique au navigateur comment rendre la page en mode conforme aux normes.

Si le codage de la page Web n'inclut pas de déclaration DOCTYPE (déclaration DTD ou déclaration de type de document) ou s'il est mal effectué:

  1. Vous ne pourrez pas utiliser un validateur HTML (HyperText Markup Language) pour vérifier le codage des pages. La validation HTML nécessite la déclaration DOCTYPE.

  2. Le navigateur affichant la page Web traitera le codage en mode Quirks.

  3. La feuille de style ne peut pas être implémentée comme prévu.

Quel DOCTYPE devriez-vous utiliser?

Si vous êtes débutant en HTML (HyperText Markup Language), je vous suggère d'utiliser la déclaration HTML 4.01 Transitional. Il est beaucoup plus clément pour le débutant lors de l'exécution de validation HTML . Vous utiliserez également cette déclaration si vous savez que votre public n'aura pas de navigateur prenant en charge les feuilles de style en cascade (CSS).

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

Cette déclaration DOCTYPE autorise toujours les éléments et les attributs de présentation qui doivent figurer dans la feuille de style. 


Si vous voulez apprendre à coder pour préparer l'avenir mais que vous n'êtes pas encore prêt pour XHTML, utilisez la déclaration Strict.

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

Avec cette déclaration, tous les attributs de présentation sont déplacés vers la feuille de style.

Une liste complète des déclarations DOCTYPE (DTD) est disponible à l'adresse Liste des DTD valides que vous pouvez utiliser dans votre document.

17
Random Guy

La déclaration de doctype doit être la toute première chose dans un fichier HTML document, avant la balise.

La déclaration de doctype n'est pas une balise HTML; c'est une instruction à le navigateur Web à propos de quelle version du langage de balisage la page est écrit en.

La déclaration de type de document fait référence à une définition de type de document (DTD) . La DTD spécifie les règles du langage de balisage, de sorte que le les navigateurs rendent le contenu correctement.

Citation d'ici: http://www.w3schools.com/tags/tag_doctype.asp

:)

5
RylandAlmanza

Une déclaration Doctype déclenche le mode standard dans votre navigateur et doit toujours être utilisée. Le mode Quirks devrait toujours être évité.

3
Nefeli

Navigateur de guerre et 2 modes

Pour comprendre la signification de DOCTYPE, laissez-nous plonger dans une histoire à partir des jours de guerres de navigateurs. À cette époque, les pages Web étaient écrites dans deux versions différentes pour prendre en charge à la fois Internet Explorer et Netscape Navigator

Mais alors W3C a repris la définition des standards Web. Malheureusement, les navigateurs dotés de nouvelles normes n’ont pas été en mesure de rendre les pages Web conçues pour les navigateurs traditionnels. Donc, pour soutenir le site Web conçu pour les navigateurs existants, QUIRK MODE a été introduit. Dans lequel le navigateur suppose que vous avez écrit du balisage et du code démodés et invalides, conformément aux normes déprimantes de l’industrie de la fin des années 90. 

Pour différencier ces sites Web des nouveaux sites, une variable DOCTYPE a été ajoutée, ce qui a donné au navigateur un signal indiquant que cette page Web devait être rendue en STANDARD MODE

HTML5 && HTML 4.01

Avant HTML5, le code HTML était basé sur SGML, ce qui nécessitait une définition de type de document pour établir des règles et une programmation pour le balisage. Ainsi, doctype disposait d'autres informations sur la définition de type de document (DTD).

Cependant, avec l'introduction de HTML5, la DOCTYPE est la seule chose nécessaire pour activer le STANDARD MODE.

1
Afsaar Ahmad

Pour simplifier les choses: <!DOCTYPE HTML> indique que le code est HTML.

0
Konstrictor