Cet article explique systématiquement l'élément DOCTYPE. En même temps, j'ai vérifié beaucoup d'informations Parce que les informations sur Internet sont relativement brouillonnes, je les ai redéfinies après les avoir collectées et triées. Par exemple, la définition du DOCTYPE. L'élément est principalement divisé en connaissances de base et connaissances avancées. .Les connaissances de base expliquent les connaissances de base de DOCTYPE. De nombreuses connaissances avancées proviennent d'Internet, principalement des compétences d'application pratiques.
2. DéfinitionTrois spécifications.W3C
La traduction correcte des spécifications du W3C devrait être les recommandations du W3C. Aux yeux de nombreux concepteurs, le W3C est la norme, mais beaucoup de gens ne le comprennent que très peu. Les spécifications HTML et XHTML sont répertoriées dans les spécifications actuelles du W3C. ci-dessous. La relation entre HTML et XHTML sera expliquée plus tard :
Spécification HTML et chronologie du W3C
Recommandé
|
|
|
14 janvier 1997 |
HTML 4.0 | 24 mai 1998 |
HTML 4.01 | 24 décembre 1999 |
Spécifications |
Projet/Proposition |
Recommandé |
26 janvier 2000 |
||
1er août 2002 |
||
31 mai 2001 |
||
10 avril 2001 |
||
5 juillet 2006 |
||
19 décembre 2000 |
||
5 juillet 2006 |
||
14 octobre 2003 |
||
16 février 2007 |
||
20 septembre 2006 |
||
1er août 2002 |
||
14 octobre 2003 |
||
14 mars 2006 |
||
22 février 2007 |
||
26 juillet 2006 |
||
27 juin 2001 |
||
13 septembre 2002 |
XHTML peut être considéré comme la dernière spécification HTML et est une application XML qui peut être migrée en douceur à partir de HTML 4.01. La première étape du W3C dans la refactorisation de HTML 4.01 en XML a conduit à la naissance de XHTML 1.0. XHTML 1.0 s'appuie sur la sémantique fournie par les balises HTML 4.01.
Le fichier de page déclare différentes DTD via l'élément
HTML 4.01 spécifie trois types de documents : Strict, Transitional et Frameset.
Utilisez ce type si vous avez besoin d'un balisage propre et sans encombrement dans la couche de présentation. Veuillez utiliser avec des feuilles de style en cascade (CSS) :
http://www.w3.org/TR/html4/strict.dtd ">
La DTD transitionnelle peut contenir des attributs de rendu et des éléments que le W3C s'attend à ce qu'ils soient déplacés dans des feuilles de style. Utilisez ce type si vos lecteurs utilisent des navigateurs qui ne prennent pas en charge les feuilles de style en cascade (CSS) et que vous devez utiliser les fonctionnalités de rendu HTML :
http://www.w3.org/TR/html4/loose. dtd">
La DTD Frameset doit être utilisée pour les documents avec des cadres. La DTD Frameset est équivalente à la DTD Transitionnelle, sauf que l'élément frameset remplace l'élément body :
http://www.w3.org/TR/html4/frameset. dtd">
XHTML 1.0 spécifie trois types de documents XML : Strict, Transitional et Frameset.
Utilisez ce type si vous avez besoin d'un balisage propre et sans encombrement dans la couche de présentation. Veuillez utiliser avec des feuilles de style en cascade (CSS) :
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1 /DTD/xhtml1-strict.dtd">
La DTD transitionnelle peut contenir des attributs de rendu et des éléments que le W3C s'attend à ce qu'ils soient déplacés dans des feuilles de style. Utilisez ce type si vos lecteurs utilisent des navigateurs qui ne prennent pas en charge les feuilles de style en cascade (CSS) et que vous devez utiliser les fonctionnalités de rendu de XHTML :
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1 /DTD/xhtml1-transitional.dtd">
Lorsque vous souhaitez utiliser un framework, utilisez cette DTD !
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1 /DTD/xhtml1-frameset.dtd">
Disponibilité des principaux éléments HTML "Inscription//Organisation//Balise de type//Langage de définition" "URL"
Élément de niveau supérieur : Spécifie le type d'élément de niveau supérieur déclaré dans la DTD. Cela correspond au type de document SGML déclaré. La valeur par défaut est HTML.
Disponibilité : spécifie si l'identifiant public formel (FPI) est un objet accessible publiquement ou une ressource système. La valeur peut être PUBLIC ou SYSTEM.PUBLIC par défaut. Représente un objet accessible au public. SYSTEM représente les ressources système, telles que les fichiers locaux ou les URL.
Enregistrement : précise si l'organisation est enregistrée auprès de l'Organisation internationale de normalisation (ISO).
est la valeur par défaut, indiquant que le nom de l'organisation a été enregistré.
- Indique que le nom de l'organisation n'est pas enregistré. L'Internet Engineering Task Force (IETF) et le World Wide Web Consortium (W3C) ne sont pas des organisations ISO enregistrées.
Organisation : Précisez le nom du groupe ou de l'organisation responsable de la création et de la maintenance de la DTD référencée par la déclaration !DOCTYPE, c'est à dire le OwnerID. L'IETF est l'IETF. Le W3C est le W3C.
Type : Spécifie la classe de texte publique, c'est-à-dire le type d'objet référencé. La valeur par défaut est DTD.
Balise
: spécifiez une description de texte public, c'est-à-dire un nom descriptif unique pour le texte public référencé. Un numéro de version peut être joint au dos. La valeur par défaut est HTML.
Définition : Spécifie la définition du type de document.
Documentation Frameset Frameset.
Strict exclut tous les attributs et éléments représentatifs que les experts du W3C souhaitent supprimer progressivement car la feuille de style est déjà bien établie.
Transitional contient tout le contenu à l'exception des éléments frameSet.
Langue : Spécifie la langue du texte public, le système de codage en langage naturel utilisé pour créer l'objet référencé. La définition de la langue a été écrite sous forme de code de langue ISO 639 (deux lettres majuscules). FR par défaut. Anglais.
URL : Spécifie l'emplacement de l'objet référencé.
Si vous souhaitez vérifier si le contenu de votre page est conforme aux normes déclarées dans DOCTYPE, vous pouvez utiliser l'outil de vérification fourni par le W3C :
Les navigateurs modernes incluent différents modes de rendu conçus pour prendre en charge à la fois les pages Web conformes aux normes du W3C et les pages Web conçues pour les navigateurs plus anciens. Parmi eux, le mode Standards (c'est-à-dire le mode de rendu strict) est utilisé pour restituer des pages Web conformes aux dernières normes, tandis que le mode Quirks (inclus) (c'est-à-dire le mode de rendu lâche ou le mode de compatibilité) est utilisé pour restituer les pages Web conçues pour les navigateurs traditionnels. De plus, notez que Mozilla/Netscape 6 ajoute un nouveau mode Presque Standards pour prendre en charge les pages Web conçues pour une ancienne version du standard.
En théorie, cela devrait être un commutateur très intuitif. Si l'élément de la page indique que la page est conforme à un standard (tel que XHTML1.0), le navigateur passera en mode Standards. Si doctype n'est pas spécifié, ou si HTML 3.2 et les versions antérieures sont spécifiées, le navigateur passe en mode Quirks. De cette façon, le navigateur peut afficher correctement les documents conformes aux normes sans abandonner complètement les anciennes pages Web non standard. Mais il y aura les situations suivantes :
Dans la déclaration doctype complète, incluez l'URL du fichier de définition de type de document (DTD) correspondant. Si l'URL est manquante ou si un chemin relatif est spécifié (plutôt qu'une adresse Internet complète), la plupart des navigateurs entreront en mode Quirks, quel que soit le mode spécifié par la déclaration doctype.
Les navigateurs sont très sensibles à la forme et au format des déclarations de doctype. Si un doctype mal formé ne peut pas être reconnu, il sera forcé en mode Quirks (il est recommandé de copier et coller un doctype correct connu dans le document, et ne pas le taper en personne). Une raison courante pour laquelle un doctype est mal formé est un espace manquant entre la première partie du doctype et l'URL. Plier un doctype de deux lignes en une seule ligne fait souvent perdre de l'espace.
Lorsque les navigateurs gèrent les doctypes de transition, des incohérences sont les plus susceptibles de se produire. IE et Opera utilisent le mode Standards ; Netscape 6 et les versions antérieures de Safari utilisent le mode Quirks ; Netscape 7, Mozilla 1 et les versions plus récentes de Safari utilisent le mode Presque Standards de Netscape, qui est une version plus tolérante aux pannes du mode Standards.
Il existe également des incohérences dans la manière dont les navigateurs gèrent les doctypes non reconnus. IE et Opera entreront en mode Standards ; en d'autres termes, cela suppose que le doctype non reconnu est un nouveau standard qui n'a pas encore été intégré au navigateur. Netscape 6, en revanche, passera en mode Quirks lorsqu'il rencontrera un doctype non reconnu.
Le changement de type de doctype peut être un moyen efficace de mettre le navigateur dans le bon mode de rendu et d'afficher correctement la page Web, à condition que vous remarquiez les incohérences dans les différents navigateurs et que vous puissiez éviter de manière proactive divers problèmes.
1. Immédiatement après la déclaration DOCTYPE ci-dessus se trouve une déclaration d'espace de noms XHTML, placée dans l'élément amélioré, écrite comme :
http://www.w3.org/1999/xhtml">
2. Étant donné que les pages XHTML 1.0 sont des documents XML légaux et que XML est sensible à la casse pour les balises et les attributs, pour des raisons de simplicité, toutes les balises et attributs des pages XHTML 1.0 doivent être en minuscules.Certains outils gratuits, tels que HTML Tidy (
http://tidy.sourceforge.net/), peuvent vous aider à convertir automatiquement les balises et les attributs en minuscules.
3. Déclarez la langue utilisée dans la page en ajoutant un élément
4. En XHTML, tous les attributs doivent être cités.
Certains outils gratuits, tels que HTML Tidy (http://tidy.sourceforge.net/
), peuvent vous aider à ajouter automatiquement des guillemets à tous les attributs. 5. En XHTML, tous les attributs doivent avoir une valeur.
ne peut pas être écrit comme en HTML 4.0 :
doit s'écrire :
6. En XHTML, toutes les balises doivent être fermées.
Il existe deux manières de fermer les balises. Les balises contenant du contenu sont fermées par une balise de fermeture, et les balises vides sont suivies d'un espace et d'un "/". Par exemple :
Ceci est du HTML acceptable et c'est également du XHTML valide.
7. N'utilisez pas "--" dans le contenu des commentaires.
"--" ne peut être utilisé qu'au début et à la fin des commentaires XHTML, et ne peut pas apparaître dans le contenu du commentaire. Les méthodes d'écriture suivantes ne sont pas autorisées :
8. HTML encode tous les symboles spéciaux.
Les trois spécifications XHTML/CSS/DOM du W3C forment un système complet et rigoureux J'appelle ces trois spécifications « l'incarnation de la Trinité » dans le monde du Web. Ces trois spécifications représentent respectivement la structure, la présentation et le comportement de la page Web. Diviser strictement les pages Web en ces trois couches et essayer de rendre le contenu de chaque couche indépendant les uns des autres contribuera à améliorer la réutilisabilité et la modularité de la page et à réduire considérablement les coûts de production, de maintenance et de modification des pages. Afin d'atteindre les objectifs ci-dessus, le XHTML doit être écrit pour contenir uniquement du balisage lié à la structure (éléments et attributs). Par conséquent, vous devez vous habituer à utiliser la DTD de type strict et abandonner ces balises ayant des implications expressives dès que possible (ces balises sont marquées comme obsolètes dans la spécification HTML 4.0, c'est-à-dire « obsolètes », et seront complètement abandonnées dans les versions futures. du XHTML); Abandonnez dès que possible l'ancienne méthode de mise en page basée sur des tableaux et adoptez une mise en page CSS complète.
9. Livres recommandés sur le XHTML
Le guide définitif du HTML et du XHTML, par Chuck Musciano et Bill Kennedy."Tutoriel XHTML", par Chelsea Valentine & Chris Minnick.
"Refactorisation de sites Web" par Jeffrey Zeldman.
Auteur : Zhang Ziqiu Source : http://www.cnblogs.com/zhangziqiu/