一个问题,老师抛给我们的,就是:如何让IE8-兼容这些标签?(需要设计JS中的DOM)
虽然今天刚讲的内容,但是,还是需要去了解下。
<span style=”font-size:14px;color:#FF6666;”> <!doctype html>
<html>
<head>
<meta charset=”UTF-8″>
<title>HTML5新增元素在旧浏览器的兼容-HTML5自由者</title>
</head>
<body>
<header>顶部区域</header>
<nav>导航区域</nav>
<article>文章区域</article>
<footer>底部区域</footer>
</body>
</html></span>
在支持HTML5标签的浏览器显示为:
|——————————火狐浏览器——————————————–|
|顶部区域 |
|导航区域 |
|文章区域 |
| |
|—————————————————————————————–|
而在旧版的浏览器显示样式为:
——————————IE6浏览器——————————————–
——————————IE8浏览器——————————————–
都是同样的效果,没估计错的话旧版浏览器都是不识别这些新增的标签所以都是用行内元素来处理解决的,所以,有一个解决办法的突破口就是让它变成块状元素就不会处于同一行了,这样在新旧浏览器都是可以显示同样的效果,再者就是让浏览器识别标签,需要新增标签 具体解决办法是:
IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签,代码如下:
document.createElement(‘新标签’); / /新增创建新标签
JS代码如下:
<script>
document.createElement(‘header’);
document.createElement(‘nav’);
document.createElement(‘article’);
document.createElement(‘footer’);
</script>
或者是直接循环方式创建标签:
var e = “abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video”.split(‘, ‘);









