Maison  >  Article  >  interface Web  >  Introduction détaillée à la production de pages DOCTYPE types_HTML/Xhtml_Web

Introduction détaillée à la production de pages DOCTYPE types_HTML/Xhtml_Web

WBOY
WBOYoriginal
2016-05-16 16:45:511168parcourir

Quand on déclare DOCTYPE en HTML, on a généralement les types suivants :




Oui, il existe du HTML et du XHTML, ainsi que du Transitional et du Strict. Comme son nom l'indique, XHTML signifie que le document est écrit au format XML, tandis que HTML signifie que le document est écrit au format HTML. Transition signifie que le document répond aux exigences de Transitional.dtd ou loose.dtd, et Strict signifie que le document répond aux exigences de strict.dtd. Mais en réalité, nous avons souvent les malentendus suivants :
(1) Si mon document est déclaré au format XHTML, alors mon document doit être au format XML complet.
(2) Si mon document est déclaré comme Strict, alors mon document doit être rendu en mode Strict, sinon, il sera rendu en mode Quirks.
Ces deux compréhensions sont très simples, mais elles sont fausses. Nous faisons souvent cette erreur.
Tout d'abord, la déclaration du document est XHTML et HTML, ce qui n'est pas directement lié à l'analyse du document (c'est-à-dire à l'analyse du document par le navigateur). En fait, la manière dont le navigateur analyse le document dépend du format dans lequel le serveur fournit le document. Normalement, il existe deux manières, "text/html" et "application/xhtml xml". Seuls les documents fournis au format « application/html xml » peuvent être analysés au format XML. Cependant, en raison de l'historique du navigateur, tous les navigateurs ne prennent pas en charge les documents au format « application/xhtml xml ». Les versions antérieures à IE7 (y compris IE7) ne sont pas en mesure de prendre en charge ce format. Si IE7 rencontre ce format de document, il invitera l'utilisateur à l'enregistrer sous. un autre fichier. Compte tenu de l'utilisation répandue d'IE, la plupart des documents sont actuellement fournis sous forme de "texte/html". Les documents fournis au format "text/html" sont analysés selon la sémantique du HTML. Tout le monde sait que le HTML est très tolérant aux pannes. Même si le TAG de votre document n'est pas correctement fermé, le HTML peut toujours être analysé correctement. s’affiche. Par conséquent, si votre XHTML est fourni sous la forme "text/html" (dans la plupart des cas), alors même si vous déclarez XHTML dans le DOCTYPE, votre document ne sera pas analysé au format XML. Il n'y a donc aucune garantie que votre document soit analysé au format XML. Le document suit strictement les spécifications XML. En fait, de nombreux experts recommandent que si votre document n'est pas fourni sous la forme "application/xhtml xml", vous devez le déclarer au format HTML.
Deuxièmement, la manière dont le navigateur restitue votre document n'est pas déterminée par la DTD que vous déclarez. En effet, si vous déclarez DOCTYPE et DTD, votre document sera rendu en Mode Strict (ou Mode Standard, de nombreux navigateurs incluent également le Mode Presque Standard, aucune distinction ne sera faite ici). Pour les documents sans DOCTYPE, ils sont rendus en mode Quirks. Par conséquent, le mode de rendu du navigateur n'est pas directement lié à la DTD que vous déclarez.
Enfin, il n'y a aucune différence dans les navigateurs actuels si vous le déclarez comme Strict.dtd ou Transitional.dtd. Strict.dtd est beaucoup plus strict que Transitional.dtd ou Loose.dtd. De nombreux éléments ne peuvent pas être utilisés dans strict.dtd. Cependant, en raison de la compatibilité du navigateur, même si vous déclarez Strict.dtd dans DOCTYPE, si le navigateur rencontre des éléments qui ne sont pas autorisés dans strict.dtd, il pourra toujours afficher correctement votre document. Je suppose que le navigateur ne prend pas en compte la DTD. Par exemple, l'iframe TAG n'existe pas dans strict.dtd, mais même si strict.dtd est déclaré dans votre DOCTYPE et qu'ensuite l'iframe TAG est utilisé, les navigateurs (dont IE7, IE8, FF3.0, Safari 3.0) pourront pour afficher correctement votre document. Le navigateur n'analyse pas votre document selon la DTD que vous avez déclarée. Actuellement, vous pouvez garantir si votre document est conforme à strict.dtd ou Transitional.dtd. Il ne peut être analysé que via certains validateurs en ligne, tels que W3C Validator. Le navigateur ne vous offre pas un bon support. Bien sûr, en fait, il serait préférable que vous puissiez écrire votre document strictement selon la DTD que vous avez déclarée. Cela garantira que votre document ne produira pas d'erreurs lorsque le navigateur respectera strictement la DTD à l'avenir.
Par conséquent,
(1) Si votre document est fourni au format "text/html", alors vous devez le déclarer au format HTML. Cela est particulièrement vrai si vous souhaitez qu'IE7 s'affiche correctement.
(2) Si votre document est déclaré au format XHTML, alors vous devez le fournir sous la forme "application/html xml".
(3) Essayez de déclarer DOCTYPE et DTD devant votre document pour vous assurer que vous ne restituez pas le document en mode Quirks.
(4) Si vous déclarez une DTD, vous devez alors rédiger votre document en stricte conformité avec les exigences de la DTD. Surtout si vous déclarez Strict.dtd, vous devez faire attention aux éléments qui ne peuvent pas être utilisés.
Remarque : Au fil du temps, la prise en charge du navigateur pour HTML et XHTML, Strict.dtd et Transitional.dtd s'améliorera. Si votre navigateur est bien supérieur à IE7, IE8, FF 3.0 et Safari 3.0, vous devez alors faire attention à l'applicabilité de cet article.
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