Certaines pages Web sont créées selon les normes, mais il y en a aussi beaucoup. Même si vous ne pouvez pas créer des pages Web qui suivent les normes, vous souhaitez que le navigateur affiche correctement ces pages en fonction des normes. Actuellement, un grand nombre de pages Web sont remplies de nombreux code non standard, et ils fonctionnent toujours correctement. En fait, la plupart des code conçus pour les navigateurs plus anciens seront affichés correctement dans des navigateurs plus récents (bien qu'il puisse y avoir des différences dans la façon dont il est rendu). Quelle est la raison à cela? En fait, strictement suivre les dernières normes saperont complètement la base de survie de ces pages. C'est certainement inacceptable pour tout navigateur qui veut faire une différence.
Mode de rendu du navigateur
Les navigateurs modernes incluent différents modes de rendu, dans le but de prendre en charge les deux pages Web qui suivent les normes et les pages Web conçues pour les navigateurs plus anciens. Parmi eux, le mode normes (c'est-à-dire le mode de présentation strict) est utilisé pour présenter des pages Web qui suivent les dernières normes, tandis que le mode Quirks (c'est-à-dire le mode de présentation ou le mode de compatibilité lâche) est utilisé pour présenter des pages Web conçues pour les navigateurs traditionnels. Notez également que Mozilla / Netscape 6 a ajouté un mode de normes presque pour prendre en charge les pages Web conçues pour une ancienne version de la norme.
Qu'est-ce que Doctype Switch?
La déclaration Doctype placée en haut de la page Web est la clé pour faire entrer le navigateur dans le mode de rendu correct. Le navigateur passe automatiquement au mode de rendu approprié pour afficher correctement le type de document spécifié par la déclaration doctype.
En théorie, cela devrait être un commutateur très intuitif. Si Doctype souligne que la page Web actuelle est un document qui est conforme à la norme (IE HTML 4+ ou XHTML 1+), le navigateur passera au mode Normes. Si le doctype n'est pas spécifié ou si des versions HTML 3.2 et anciennes sont spécifiées, le navigateur passe en mode Quirks. De cette façon, le navigateur peut afficher les documents qui suivent correctement les normes sans abandonner complètement les pages Web à l'ancienne qui ne correspondent pas aux normes.
Problème de commutation doctype
Cependant, la commutation doctype est une solution incomplète. Même si vous utilisez une déclaration doctype dans votre document Web, le navigateur peut ne pas prendre le mode de rendu que vous souhaitez afficher la page Web. Il y a de nombreuses raisons, y compris le doctype de la mauvaise forme, et différents débuts de <? Xml version = 1.0 Encoding = UTF-8?>) Qui inclut la page Web XHTML. Cependant, IE, l'opéra et les anciennes versions de Safari souhaitent que la première ligne du document soit la déclaration Doctype. Donc, s'il y a autre chose avant (y compris XML Prolog), le doctype n'est pas reconnu. Par conséquent, l'existence de Prolog XML apportera IE, Opera et Safari en mode Quirks. XML Prolog n'est pas nécessaire, vous pouvez donc l'omettre en toute sécurité dans la page Web XHTML. Remarque: assurez-vous d'inclure un attribut Charset dans la balise META HTTP-Equiv pour compenser l'attribut de codage manquant dans le Prolog XML.
URL manquante ou URL relative:
Dans la déclaration complète de Doctype, incluez l'URL du fichier de définition de type de document (DTD) correspondant. Si l'URL est perdue ou si elle est spécifiée, un chemin relatif (plutôt qu'une adresse Internet entièrement qualifiée), la plupart des navigateurs entrent en mode Quirks, quel que soit le mode spécifié par la déclaration Doctype.
Doctype de mauvaise forme:
Le navigateur est très sensible à la forme et au format de la déclaration de doctype, et si une forme incorrecte doctype ne peut pas être reconnue, elle forcera en mode bizarre Une raison courante de l'erreur de formulaire Doctype est qu'un espace manque entre la première partie de Doctype et l'URL. Effondrer un doctype divisé en deux lignes en une seule ligne, et cet espace sera souvent perdu.
La période de transition doctype:
Lorsqu'un navigateur gère la période de transition Doctype, il est très susceptible d'avoir des problèmes incohérents. IE et l'opéra utilise le mode Normes; Les versions NetScape 6 et anciennes de Safari utilisent le mode Quirks; NetScape 7, Mozilla 1 et les versions plus récentes de Safari utilisent le mode NetScape presque des normes de Netscape, qui est une meilleure version tolérante aux pannes du mode Standards.
Doctype inconnu:
Il y a aussi une incohérence lorsque le navigateur gère les doctypes non reconnus. IE et Opera entrera en mode Normes; En d'autres termes, il suppose que Doctype non reconnu est une nouvelle norme qui n'a pas été intégrée dans le navigateur. Au contraire, Netscape 6 passera au mode Quirks lors de la rencontre des doctypes non reconnus.
La commutation doctype peut être un moyen efficace pour amener le navigateur à entrer le mode de rendu correct et à afficher correctement la page Web, à condition que vous remarquiez des incohérences dans divers navigateurs et que vous puissiez activement éviter divers problèmes.
2. Utilisez la déclaration doctype correcteNous pouvons ignorer cela lors de la fabrication de pages (y compris moi, je suis généralement paresseux de ne pas écrire et d'utiliser le navigateur par défaut). Avec l'arrivée de l'engouement actuel pour la normalisation de l'encodage des pages Web, il est nécessaire que tout le monde comprenne ce détail, qui sera utile. Comme le dit le proverbe, il n'y a pas d'ordre sans règles.
Alors que la plupart des documents Web ont des déclarations doctype au sommet, de nombreuses personnes ne y prêtent pas attention. C'est l'un des nombreux détails qui sont bâclés par logiciel de création Web lorsque vous créez un nouveau document. Bien que Doctype soit négligé par beaucoup, c'est un élément nécessaire dans tout document Web qui suit les normes. Doctype affecte la vérification du code et détermine comment le navigateur affiche finalement votre documentation Web.
Le rôle de doctype
L'instruction Doctype souligne quels ensembles de règles doivent être utilisés par le lecteur pour interpréter les balises du document. Dans le cas des documents Web, le programme de lecture est généralement un programme tel qu'un navigateur ou un dispositif de vérification, et les règles sont les règles contenues dans une définition de type de document (DTD) publiée par W3C.
Chaque DTD comprend une série de balises, d'attributs et de propriétés qui sont utilisées pour marquer le contenu d'un document Web; et comprend également des règles qui spécifient quelles balises peuvent apparaître dans les autres balises. Chaque norme sous le Web (telle que HTML 4 Frameset et XHTML 1.0 Transitional) a son propre DTD. Si les balises du document ne suivent pas le DTD spécifié par la déclaration Doctype, le document peut ne pas être affiché correctement dans le navigateur en plus de ne pas passer la vérification du code. Le navigateur est plus tolérant que le dispositif de vérification pour le problème des balisages incohérents. Cependant, des déclarations de doctype incorrectes entraînent souvent une affichage de pages Web ou de ne pas être affichées du tout.
Sélectionnez le doctype correct
Afin d'obtenir la déclaration Doctype correcte, la clé est de faire correspondre le DTD aux normes que le document suit. Par exemple, en supposant que le document suit la norme stricte XHTML 1.0, la déclaration doctype du document doit se référer au DTD correspondant. D'un autre côté, il est inapproprié si la déclaration Doctype spécifie XHTML DTD mais que le document contient des balises HTML à l'ancienne; De même, il est également inapproprié si la déclaration Doctype spécifie HTML DTD mais que le document contient des balises strictes XHTML 1.0.
Parfois, vous ne pouvez pas du tout utiliser une déclaration de doctype. Si aucune déclaration Doctype valide n'est spécifiée, la plupart des navigateurs utiliseront un DTD par défaut intégré. Dans ce cas, le navigateur utilisera le DTD intégré pour essayer d'afficher la balise que vous avez spécifiée. Pour certains documents temporaires et hâtifs (il y en a beaucoup), vous pouvez en effet envisager d'omettre la déclaration Doctype et d'accepter l'affichage par défaut du navigateur.
Il est tout à fait possible d'écrire une déclaration doctype à partir de zéro et de le laisser pointer vers un DTD de votre choix. Cependant, comme la plupart des documents Web doivent suivre une norme Web reconnue internationalement publiée par W3C, ces documents contiennent généralement l'une des déclarations de doctype standard suivantes:
Html 2: <! Doctype html public - // ietf // dtd html 2.0 // en>
Html 3.2: <! Doctype html public - // w3c // dtd html 3.2 final // en>
Html 4.01 strict: <! Doctype html public - // w3c // dtd html 4.01 // en http://www.w3.org/tr/html4/strict.dtd>
HTML 4.01 Transitional: <! Doctype html public - // w3c // dtd html 4.01 transitional // en http://www.w3.org/tr/html4/loose.dtd>
HTML 4.01 Frameset: <! Doctype Html public - // w3c // dtd html 4.01 Frameset // en http://www.w3.org/tr/html4/frameset.dtd>
Xhtml 1.0 strict: <! Doctype html public - // w3c // dtd xhtml 1.0 strict // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd>
XHTML 1.0 Transitional: <! Doctype html public - // w3c // dtd xhtml 1.0 transitional // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd>
Xhtml 1.0 Frameset: <! Doctype html public - // w3c // dtd xhtml 1.0 frameset // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>
Xhtml 1.1: <! Doctype html public - // w3c // dtd xhtml 1.1 // en http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd>
Xhtml 1.1 plus mathml plus svg: <! Doctype html public - // w3c // dtd xhtml 1.1 plus mathml 2.0 plus svg 1.1 // en http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math/2002/04/XHTML
En plus de la déclaration Doctype énumérée ci-dessus, certains documents avec des exigences spéciales utilisent plusieurs autres déclarations.
La déclaration Doctype est généralement la première ligne du document, avant la balise <html> et d'autres contenus de document. Notez que dans le document XHTML, une instruction de traitement XML (également connue sous le nom de Prolog) apparaît occasionnellement devant le Doctype: <? XML Version = 1.0 Encoding = UTF-8?>
Pour s'assurer que la page Web s'affiche correctement et transmet la vérification en douceur, l'utilisation du doctype correct est la clé. Les doctypes qui sont opposés, incorrects ou incorrects en forme sont les coupables d'un grand nombre de problèmes.
Lors de la conception d'une page Web avec DW, créez un nouveau fichier et voyez qu'il y a toujours quelque chose ci-dessous à l'avant du code.
<! Doctype html public - // w3c // dtd html 4.01 transitional // en http://www.w3.org/tr/html4/loose.dtd> Ceci est DW qui ajoute automatiquement des informations DTD à la page de fichier de la page Web, qui peut être supprimée. Après la suppression, le navigateur utilisera le DTD par défaut.
3. Quel type de doctype choisir
Lorsque vous commencez à créer un site qui répond aux normes, la première chose que vous faites est de déclarer un doctype qui répond à vos besoins.
Vérifiez le code d'origine de cette page et vous pouvez voir que la première ligne est: <! Doctype html public - // w3c // dtd xhtml 1.0 transitional // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-transition.dtd>
Ouvrez certains sites qui répondent aux normes, tels que le site Web personnel du célèbre développeur de logiciels de conception de sites Web Macromedia et de la conception Master Zeldman, et vous trouverez le même code. Le code pour les autres sites qui répondent aux normes (tels que K10K.NET) est le suivant:
<! Doctype html public - // w3c // dtd xhtml 1.0 frameset // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>!doctype html public // w3c // dtd xhtml 1.0 transitional // endu http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd> br>. Le code complet est le suivant:
<! Doctype html public - // w3c // dtd xhtml 1.0 transitional // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd>!doctype html public // w3c // dtd xhtml 1.0 transitional // enme http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>
Quel type de doctype devons-nous choisir
La situation idéale est bien sûr un DTD strict, mais pour la plupart d'entre nous, des concepteurs nouveaux selon les normes Web, la transition DTD (XHTML 1.0 Transitional) est actuellement un choix idéal (y compris ce site, qui utilise également le DTD transitionnel). Étant donné que ce DTD nous permet également d'utiliser l'identité, les éléments et les attributs de la couche de présentation, il est également plus facile de passer la vérification du code W3C. Remarque: Le logo et les attributs de la couche de présentation mentionnés ci-dessus se réfèrent aux balises qui sont purement utilisées pour contrôler les performances, telles que les tableaux pour la composition, les marques de couleur d'arrière-plan, etc. Dans XHTML, l'identité est utilisée pour représenter les structures, et non pour implémenter les expressions. Notre transition consiste à séparer les données et les représentations.
Par exemple: un modèle nu modifie les vêtements. Les modèles sont comme des données et les vêtements se manifestent dans la forme, et les modèles et les vêtements sont séparés, vous pouvez donc changer de vêtements à volonté. Il s'avère que dans HTML4, les données et les performances sont mélangées, et il est très difficile de modifier la forme d'expression en même temps. Haha, c'est un peu abstrait, et nous devons progressivement comprendre ce concept pendant le processus d'application.
Remplir
Les déclarations de Doctype doivent être placées en haut de chaque document XHTML, avant tout le code et les identités.
4. C'est ainsi que le fonctionnaire définit le public doctype html public! Doctype
--------------------------------------------------------------------------------
Spécifie la définition du type de document (DTD) que le document HTML suit.
Nouveau sur Microsoft? Internet Explorer 6. Vous pouvez utiliser cette instruction pour basculer Internet Explorer 6 et ultérieurement en mode de compatibilité standard.
grammaire
HTML Enregistrement de disponibilité des éléments de haut niveau // Organisation // Taps Tags // URL de la langue de définition
Valeurs possibles
Élément de niveau supérieur: Spécifie le type d'élément de niveau supérieur déclaré dans DTD. Cela correspond au type de document SGML déclaré. Html par défaut. Html.
Disponibilité: Spécifie si l'identifiant public officiel (FPI) est un objet ou une ressource système accessible au public. Par défaut public. Objet accessible au public. Ressources système système, telles que les fichiers ou les URL locaux.
Inscription: Spécifiez si l'organisation est enregistrée par l'Organisation internationale pour la normalisation (ISO). + Par défaut. Nom de l'organisation enregistré. - Nom de l'organisation non enregistrée. L'Internet Engineering Task Force (IETF) et la World Wide Web Association (W3C) ne sont pas des organisations ISO enregistrées.
Organisation: Spécifie le nom du groupe ou de l'organisation qui indique la création et la maintenance du DTD référencées par la déclaration! Doctype, à savoir FostderId. Ietf ietf. W3C W3C.
Type: Spécifie la classe de texte public, c'est-à-dire le type d'objet référencé. DTD par défaut. Dtd.
Tag: Spécifie une description du texte public, c'est-à-dire un nom descriptif unique pour le texte public cité. Le numéro de version peut être inclus plus tard. Html par défaut. Html.
Définition: spécifiez 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 veulent éliminer, car les feuilles de style sont déjà parfaites. La transition contient tous les contenus à l'exception de l'élément Frameset.
Langue: spécifie un langage de texte public, c'est-à-dire un système d'encodage de langage naturel utilisé pour créer l'objet référencé. La définition de la langue a été écrite en tant que code linguistique ISO 639 (Capital Two Letters). En par défaut. Anglais.
URL: spécifie l'emplacement de l'objet référencé.
Commentaires
Cette déclaration doit apparaître au début du document, avant la balise HTML.
! Doctype Element n'a pas besoin de fermer la balise.
Cet élément est disponible en HTML pour Microsoft? Internet Explorer 3.0.
Vous pouvez utiliser cette déclaration pour passer en mode de compatibilité standard strict dans Internet Explorer 6 et plus tard. Pour activer ce commutateur, incluez la déclaration! Doctype en haut de votre document, spécifiant une balise légale dans la déclaration, et dans certains cas, une définition et / ou une URL sont également requises.
Remarque En mode de compatibilité standard, la compatibilité avec d'autres versions d'Internet Explorer ne peut pas être garantie. Lorsque le mode de compatibilité standard est activé, le comportement de rendu du document peut être différent de celui d'une future version d'Internet Explorer. Si le contenu est à l'origine fixé (comme brûlé sur un CD), ce mode ne doit pas être utilisé.
Exemple
L'exemple suivant montre comment utiliser les déclarations de doctype spécifiez le DTD auquel le document se conforme et change Internet Explorer 6 et plus tard vers le mode de compatibilité standard. Les déclarations dans les exemples suivants spécifient la conformité HTML 4.0 DTD. La deuxième déclaration spécifie stricte. La première déclaration n'est pas spécifiée. Les deux instructions passeront à Internet Explorer 6 et plus tard en mode de compatibilité standard.
<! Doctype html public - // w3c // dtd html 4.0 // en>
<! Doctype html public - // w3c // dtd html 4.0 strict // en>
Les déclarations dans les exemples suivants spécifient la conformité DTD avec TransitionalHTML 4.0. La deuxième déclaration spécifie l'URL de DTD. La première déclaration n'est pas spécifiée. La deuxième instruction changera Internet Explorer 6 et plus tard en mode de compatibilité standard. La première déclaration ne le sera pas.
<! Doctype html public - // w3c // dtd html 4.0 transitional // en>
<! Doctype html public - // w3c // dtd html 4.0 transitional // en
http://www.w3.org/tr/html4/loose.dtd>