在IE6系列等老式浏览器中使用HTML5的新标签实现方案

不是真海豚

不是真海豚

2016-02-19 12:34

下面请跟着图老师小编一起来了解下在IE6系列等老式浏览器中使用HTML5的新标签实现方案,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

HTML5 向开发人员提供了很多新的标签, 如 section, nav, article, header 和 footer 等. 这些标签语义化程度高, 会被经常使用, 但在 IE6, IE7, IE8 和 Firefox 2 等老式浏览器中不能识别和正常使用.

为什么老式的浏览器不能识别这些标签?

其实错不在浏览器, 因为在那个时代根本不存在这种标签, 所以不能正确识别出来, 而这种不寻常的标签识别令 DOM 结构变得异常.

我们有测试代码如下. 是一个文章标题和蓝色字的文章内容, 其中文章内容用了 article 标签.

代码如下:

!DOCTYPE html
html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN"
head
meta charset="UTF-8" /
title测试/title
style
article{color:#06F;}
/style
/head

body
h1文章标题/h1
article
这是文章内容,应该是一段蓝色的文字。在老式浏览器中,如果不做 hack 将显示异常。
/article
/body
/html

在 IE8 中, 显示如下.

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

IE8 不能识别 article 标签, 定义在标签上的 CSS 样式没有起作用. 在 IE8 中, article 被解释成命名为 article //article / 两个空的标签元素, 与文章内容并列为兄弟节点, 如下图.

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)如何在老式浏览器中使用 HTML5 标签?

既然因为不能识别标签而不能使用, 解决办法就是让标签被识别出来. 所幸, 简单地通过 document.createElement(tagName) 即可以让浏览器识别标签和 CSS 引擎知道该标签的存在. 假设我们上面的例子的 head 区域加上如下代码.

代码如下:

script
document.createElement('article');
/script

IE8 中的 DOM 解释就会变成下图所示.

自然, 文字也显示成正常的蓝色.

结语

博客早就转用 HTML5 的写法, 但苦于很多用户没有用最新的浏览器, 一直还在用 HTML4 的标签集. HTML5 很多标签语义化强而且实用, 我也开始尝试一些常用的标签了, 现在用上了 article 和 time 标签.

展开更多 50%)
分享

猜你喜欢

在IE6系列等老式浏览器中使用HTML5的新标签实现方案

Web开发
在IE6系列等老式浏览器中使用HTML5的新标签实现方案

html5 兼容IE6结构的实现代码

Web开发
html5 兼容IE6结构的实现代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式

Web开发
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式

html5 标签

Web开发
html5 标签

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

几个解决兼容IE6\7\8不支持html5标签的几个方法

Web开发
几个解决兼容IE6\7\8不支持html5标签的几个方法

手势与HTML5 UC浏览器8.1使用感受

手机软件 应用软件
手势与HTML5 UC浏览器8.1使用感受

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

HTML5引入的新数组TypedArray介绍

HTML5引入的新数组TypedArray介绍

Linux 下面使用 mtrace 来检查一般的程序的内存溢出

Linux 下面使用 mtrace 来检查一般的程序的内存溢出
下拉加载更多内容 ↓