有些浏览器并不支持HTML5中的新增元素,如IE8或更早版本。想要应用样式,可以头部标记<head>中加入下面JavaScript代码
<html>
<head>
<meta charset=uft-8"/>
<style>
header{
color: red;
width: 500px;
}
</style>
<script>document.createElement("header")</script>
</head>
<body>
<header>Hello world!</header>
</body>
</html>
对重点就是document.createElement。考虑各个浏览器兼容性不同,可以对上面JS代码进行优化,即使用条件语句包含JS代码
IE9以下版本的IE将创建HTML5标签, 非IE浏览器会忽略这段代码,因此不会发生http请求,也就不影响网页执行效率。
<script>
(function() {
if (!
/*@cc_on!@*/
0) return;
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(', ');
var i= e.length;
while (i--){
document.createElement(e[i])
}
})()
</script>
最后在css里面加上这段:
/*html5*/ article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}
主要是让这些html5标签成块状,像div那样。
另外还有种能让IE识别那些新元素的途径就是使用HTML5 shiv,html5shiv的使用非常的简单,在你的网页中引入Google的html5shiv包(已经写好的直接可调用)在页面head中即可
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
一定要加在<head></head>里调用 (因为浏览器必须先解释了这个脚本才能解析后面的html5标签,所以不能放在页面底部)