浏览器不支持HTML5

有些浏览器并不支持HTML5中的新增元素,如IE8或更早版本。想要应用样式,可以头部标记<head>中加入下面JavaScript代码
 1 <html>
 2 <head>
 3 <meta charset=uft-8"/>
 4 <style> 
 5 header{ 
 6     color: red;
 7     width: 500px; 
 8 }
 9 </style>
10 <script>document.createElement("header")</script>
11 </head>
12 <body>
13 <header>Hello world!</header>
14 </body>
15 </html>

对重点就是document.createElement。考虑各个浏览器兼容性不同,可以对上面JS代码进行优化,即使用条件语句包含JS代码

IE9以下版本的IE将创建HTML5标签, 非IE浏览器会忽略这段代码,因此不会发生http请求,也就不影响网页执行效率。

 1 <script>
 2 (function() {
 3 if (!
 4 /*@cc_on!@*/
 5 0) return;
 6 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(', ');
 7 var i= e.length;
 8 while (i--){
 9 document.createElement(e[i])
10 }
11 })()
12 </script>

最后在css里面加上这段:

/*html5*/ article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}
主要是让这些html5标签成块状,像div那样。

另外还有种能让IE识别那些新元素的途径就是使用HTML5 shiv,html5shiv的使用非常的简单,在你的网页中引入Google的html5shiv包(已经写好的直接可调用)在页面head中即可

1 <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>

一定要加在<head></head>里调用 (因为浏览器必须先解释了这个脚本才能解析后面的html5标签,所以不能放在页面底部)

下载地址: http://html5shiv.googlecode.com/svn/trunk/html5.js 

原文地址:https://www.cnblogs.com/amumustyle/p/5145635.html