如何解决IE无法识别html5中的新标签(article、abbr、header等)

先看代码

<h2>你好啊</h2>
    <p>这里是一个段落,这里我什么也不想写!<span>不需要理由的</span></p>
</article>
css如下:article{border:1px solid red;}
<在可以识别html5的新标签的浏览器下,显示如下:



如何解决IE无法识别html5中的新标签(article、abbr、header等)
而在IE7下:
如何解决IE无法识别html5中的新标签(article、abbr、header等)
IE8下:
如何解决IE无法识别html5中的新标签(article、abbr、header等)
IE9显示正常。
如何让IE浏览器支持新的标签?
可以在使用新标签之前用javascript创建一个虚假的标签,这样就可以识别了。
如<article>标签,在使用前,创建一个虚假的<article>标签,<script>document.createElement_x_x_x("article");</script>

注意,此时如果IE下显示有问题的话,可能是article的每个子元素都有一个边框,就给article的css里加上display:block,这样就解决了,因为IE没有把html5里面的新标签定义为dispaly:block;


利用这一技巧,可以为所有的新元素都一次性创建一份虚假副本
<!--[if lt ie9]>
<script>
   var e=("abbr,article,aside,audio,canvas,datalist,details,"
        +"figure,footer,header,hgroup,mark,menu,meter,nav,output,"
        +"progress,section,time,video").split(',');
   for(var i=0;i<e.length;i++){
       document.createElement_x_x_x(e[i]);
      }
</script>
<![endif]-->
posted @ 2011-10-13 14:57  木油  阅读(2548)  评论(1编辑  收藏  举报