header,footer,artical,section,aside,nav适用它们能让代码语义化更直观,方便SEO。
两种解决方案:
1,通过document.createElement产生新的标签
<!--[if lt IE 9]> <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> <![endif]-->2,通过比较成熟的框架,比如html5shiv
<!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <script src="//cdn.bootcss.com/html5shiv/r29/html5.min.js"></script> <![endif]-->但是不管使用哪种方法,都需要初始化新标签css,因为HTML5默认情况下是内联元素,需要我们手动改为块状元素:
/*html5*/ article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}