En fait, XHTML 1.0 est divisé en deux types (trois types si vous ajoutez Frameset DOCTYPE, qui ne sera pas abordé dans cet article), les DOCTYPE transitionnels et stricts. Et HTML 4.01 contient également la même déclaration de documentation.
Dans la promotion actuelle des standards du Web, ceux qui prônent les standards du Web disent souvent que XHTML est plus strict que HTML. Bien sûr, c'est vrai dans un sens, il exige que toutes les balises soient fermées et que tous les attributs le soient. cité. Mais en fait, XHTML 1.0 est divisé en deux types (trois types si vous ajoutez Frameset DOCTYPE, qui ne sera pas abordé dans cet article), les DOCTYPE transitionnels et stricts. Et HTML 4.01 contient également la même déclaration de documentation.
Vous pouvez voir le sens littéralement : les DOCTYPEs de transition servent simplement à réaliser la transition de l'ancienne ère à la nouvelle ère, et les DOCTYPEs stricts sont la déclaration de document par défaut, ce qui est très important pour la construction de HTML 4.01 et XHTML 1.0 est applicable.
L'utilisation de Transitional DOCTYPE est généralement due au fait que le code contient trop d'anciennes méthodes d'écriture et qu'il est difficile de le convertir complètement en DOCTYPE strict à la fois. Mais Strict DOCTYPE devrait être votre objectif. Cela vous encourage et même parfois vous oblige à séparer la structure de la présentation et à écrire tout le code de la couche de présentation en CSS. Définition du type de document HTML 4 :
Cette DTD stricte HTML 4.01 n'inclut pas les attributs et les balises de la couche de présentation. Le W3C supprimera progressivement ces attributs et ces balises. Vous pouvez entièrement utiliser des feuilles de style pour y parvenir. Vous devez utiliser une DTD stricte. Pour la prise en charge des propriétés et des balises de présentation, utilisez une DTD transitionnelle.
L'utilisation de Strict DOCTYPE présente également l'avantage de permettre aux navigateurs d'utiliser leur mode le plus strict et (dans une certaine mesure) le plus conforme aux normes pour afficher la page.
Tommy Olsson explique très bien les avantages de l'utilisation de Strict dans les dix questions du Web Standards Group à Tommy Olsson :
Je pense qu'utiliser Strict DTD, qu'il s'agisse de HTML 4.01 Strict ou de XHTML 1.0 Strict, est bien plus important que de discuter de l'opportunité d'utiliser HTML ou XHTML. Il représente la qualité du futur Internet. Il sépare la structure et la présentation, ce qui rend la maintenance d'un site très simple.
Pour ceux qui découvrent les standards du Web et les structures sémantiques correctes, il est important de comprendre la différence entre les DOCTYPE transitionnels et stricts. Pour une liste plus détaillée, veuillez vous référer à : XHTML : différences entre strict et transitionnel, comparaison des attributs d'élément XHTML strict et transitionnel et XHTML1.0 par DTD.
Pour ceux qui se préparent à passer à Strict, il existe certaines différences entre les deux qui peuvent amener les développeurs à commettre des erreurs, dont je parlerai ensuite.
Balises non prises en charge sous les DOCTYPE stricts
centre
fonte
iframe
grève
toi
Propriétés non prises en charge sous les DOCTYPE stricts
align (support lié à la table : col, colgroup, tbody, td, tfoot, th, thead et tr)
langue
arrière-plan
couleurbg
bordure (support de table)
hauteur (pris en charge par l'image et l'objet)
espace h
nom (pris en charge dans HTML 4.01 Strict, non pris en charge par form et img dans XHTML 1.0 Strict)
noshade
maintenant
cible
texte, lien, vlink et alink
espace virtuel
largeur (img, object, table, col et colgroup sont pris en charge)
La différence entre les modèles de contenu
Le modèle de contenu d'un type d'élément décrit quelles instances du type d'élément peuvent être contenues. À ce stade, la plus grande différence entre les deux déclarations de document est que les éléments blockquote, body et form ne peuvent contenir que des éléments de niveau bloc, tels que :
Le texte et les images ne peuvent pas être inclus directement dans le corps et doivent être inclus dans des éléments de niveau bloc tels que p ou div.
L'élément d'entrée ne peut pas être directement un niveau en dessous de l'élément de formulaire.
Le texte dans l'élément blockquote doit être contenu par des éléments de niveau bloc tels que p ou div.
Laissez toutes les performances au CSS et respectez des normes strictes
Dans le processus de transition vers les DOCTYPEs stricts, il est plus efficace de savoir ce que fait chaque élément que à quoi ressemble chaque élément.
Pensez d'abord à la structure et à la sémantique, puis souciez-vous des performances plus tard.