Maison  >  Article  >  interface Web  >  Explication détaillée de l'apprentissage standard HTML5 de la structure du document

Explication détaillée de l'apprentissage standard HTML5 de la structure du document

黄舟
黄舟original
2017-03-27 15:34:491624parcourir

En parlant de la structure du HTML, beaucoup de gens peuvent l'expliquer clairement. De manière générale, la réponse peut être comme ceci :

Un DOCTYPE, un html, qui contient des éléments de tête et de corps.

Bien sûr, cela ne peut pas être considéré comme incorrect, mais si vous demandez ce que doit contenir un fichier source HTML minimum, je crains que peu de personnes puissent y répondre correctement.

Répondons d'abord à cette question. Le contenu requis pour un fichier de code source HTML5 le plus simple est le suivant :

<!DOCTYPE html>

Oui, c'est tout, pas plus d'un. caractère , pas moins d'un caractère À l'exception de la casse, qui peut être modifiée à volonté, aucun autre contenu ne peut être modifié.

Alors, quelles sont les règles qui font qu'un fichier de code source le plus simple ait une déclaration doctype ? Selon la norme, un document HTML est constitué du contenu suivant (strictement dans l'ordre) :

  1. Une balise BOM, et cette balise BOM doit être U+FEFF .

  2. 0-n espaces ou commentaires.

  3. Déclaration DOCTYPE.

  4. 0-n espaces ou commentaires.

  5. Un élément HTML.

  6. 0-n espaces ou commentaires.

Il existe quelques différences par rapport au HTML4. Le fichier de code source le plus simple du HTML4 ressemble à ceci :

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

La différence entre les deux est évidente :

  • HTML5 modifie le DOCTYPE en un 8b05045a5be5764f313ed5b9168a17e6 plus simple, déjà bien connu.

  • a une balise b2386ffb911b14667cb8f0f91ea547a7 supplémentaire en HTML4.

Le point clé ici est la balise b2386ffb911b14667cb8f0f91ea547a7 Concernant cette balise, la norme HTML4.01 dit ceci :

Chaque document HTML doit avoir un. Élément TITLE dans la section HEAD.

En d'autres termes, HTML4 exige que la balise b2386ffb911b14667cb8f0f91ea547a7 existe.

Et dans le standard HTML5, il est dit ceci :

Il ne doit pas y avoir plus d'un élément de titre par document.

HTML5 définit uniquement un limite supérieure pour le nombre de balises b2386ffb911b14667cb8f0f91ea547a7, mais ne précise pas de limite inférieure. En d'autres termes, un document sans b2386ffb911b14667cb8f0f91ea547a7 est considéré comme un document légal.

Pour DOCTYPE, il existe 6 types de DOCTYPE définis en HTML4, et DOCTYPE est divisé en 3 types en HTML5. Cela sera expliqué en détail dans les chapitres suivants.

Revenons en arrière et regardons la composition du document. Outre les éléments qui n'ont pas beaucoup de sens, la liste composée indique également qu'il existe un élément HTML, mais cela n'existe pas dans le code source le plus simple. . En effet, dans la spécification HTML, il y a toujours eu la notion de « balises implicites ». Concernant les balises implicites, cela peut s'expliquer grossièrement comme suit :

Certains éléments, lorsque certains prérequis sont remplis, Sa balise de début ou de fin peut être omise dans le code source. Dans ce cas, la balise omise est appelée « balise implicite ».

Il est à noter que l'omission ici fait référence à l'omission de dans le code source, et dans l'arborescence DOM finale, cette balise existe, elle s'appelle donc balise implicite pour . Par conséquent, la structure de code source la plus simple ci-dessus, après avoir généré l'arborescence DOM, sa structure réelle est la suivante :

<!DOCTYPE html>

    
    
Enfin, résumons certaines des spécifications en XHTML :

  • Parce qu'il s'agit de

    XML, afin d'indiquer qu'il s'agit d'un document HTML, il doit y avoir un espace de noms avec une valeur de . www.w3.org/1999/xhtml

  • Comme il s'agit de XML, le type MIME ne peut pas être

    , text/html et text/xml sont tous de meilleurs choix. application/xmlapplication/xml+html

  • Parce qu'il s'agit de XML, il doit avoir un élément racine, et l'élément racine est
  • , c'est-à-dire que les balises de début et de fin de

    ne peuvent pas être omises. 100db36a723c770d327fc0aef2ce13b1100db36a723c770d327fc0aef2ce13b1

  • Comme il s'agit de XML, tant que tous les éléments ont une balise de début, ils ne doivent pas avoir de balise de fin ni se fermer automatiquement.
  • Comme il s'agit de XML, tous les éléments doivent être strictement sensibles à la casse et les noms d'éléments doivent être en minuscules.
  • Parce qu'il s'agit de XML, le document est devenu beaucoup plus strict, et parce qu'il s'agit de XML, sa lisibilité et sa standardisation se sont beaucoup améliorées. Mais en fin de compte, nous devons toujours trouver le meilleur équilibre entre la tolérance du HTML et la standardisation du XML. Poursuivre aveuglément les extrêmes est toujours une erreur.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn