Commentaire: HTML5 fournit aux développeurs de nombreuses nouvelles balises, telles que la section, la navigation, l'article, l'en-tête et le pied de page. Ces balises sont très sémantiques et seront utilisées fréquemment, mais elles ne sont pas reconnues et utilisées normalement dans les anciens navigateurs tels que IE6, IE7, IE8 et Firefox 2. Cela a toujours été irrité par de nombreux internautes. Ensuite, comment éliminer cette colère
HTML5 fournit aux développeurs de nombreuses nouvelles balises, telles que la section, la navigation, l'article, l'en-tête, le pied de page, etc. Ces balises sont très sémantiques et seront utilisées fréquemment, mais elles ne peuvent pas être reconnues et utilisées normalement dans les anciens navigateurs tels que IE6, IE7, IE8 et Firefox 2.
Pourquoi les navigateurs à l'ancienne ne peuvent-ils pas reconnaître ces balises?En fait, la faute n'est pas le navigateur, car ce type de balise n'existait pas du tout à l'ère, donc il ne peut pas être correctement identifié. Cette reconnaissance inhabituelle de balises rend la structure DOM anormale.
Nous avons le code de test comme suit. Il s'agit d'un article contenu avec le titre et les mots bleus, et le contenu de l'article utilise la balise d'article.
<! Doctype html>
<html xmlns = "http://www.w3.org/1999/xhtml" Lang = "Zh-Cn">
<adal>
<meta charset = "utf-8" />
<Title> Test </Title>
<style>
Article {couleur: # 06f;}
</ style>
</ head>
<body>
<h1> Titre de l'article </H1>
<Re article>
C'est le contenu de l'article, ce devrait être un morceau de texte bleu. Dans les anciens navigateurs, si vous ne faites pas de hacks, une exception sera affichée.
</article>
</docy>
</html>
Dans IE8, ce qui suit est affiché.
IE8 ne peut pas reconnaître la balise d'article, et le style CSS défini sur la balise n'a aucun effet. Dans IE8, <Reticle> est interprété comme deux éléments de balise vides nommés <Article /> et </ Article />, qui sont répertoriés comme des nœuds frère avec le contenu de l'article, comme le montre la figure ci-dessous.
Comment utiliser des balises HTML5 dans des navigateurs à l'ancienne?Puisqu'il ne peut pas être utilisé car il ne peut pas être reconnu, la solution consiste à rendre les balises reconnues. Heureusement, le simple fait d'utiliser Document.CreateElement (TagName) peut permettre au navigateur de reconnaître l'étiquette et le moteur CSS connaître l'existence de la balise. Supposons que le code suivant soit ajouté à la zone <ad-head> de notre exemple ci-dessus.
<cript>
Document.CreateElement ('Article');
</cript>
L'explication DOM dans IE8 deviendra la figure suivante.
Naturellement, le texte apparaît également en bleu normal.
ConclusionLe blog est depuis longtemps passé à l'écriture HTML5, mais comme de nombreux utilisateurs n'utilisent pas le dernier navigateur, ils ont utilisé des ensembles de balises HTML4. De nombreuses balises dans HTML5 sont sémantiques et pratiques. J'ai également commencé à essayer des balises couramment utilisées, et maintenant elles utilisent des balises d'article et de temps.