如何解决H5新标签兼容问题

(1)、使用html5shiv(经常使用)css

查看了一下,发现了html5shiv能解决这个问题,能够把HTML5的新元素转换成IE6认识的内容。只须要在你的head中调用这段代码就行:html

<!--if lt IE 9]>  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>  <![endif]-->

固然你也能够直接把这个文件下载到本身的网站上。但这个文件必须在head标签中调用,由于IE必须在元素解析这前知道这些元素,才能启做用!但马海祥还要提醒你一下:还要在你的CSS文件中加上如下代码,否则有可能会出现些莫名其妙的问题。html5

header,nav,article,section,aside,footer{display:block;}

另外excanvas.js是Google为IE6支持canvas元素写的脚本,之后马海祥会跟你们再细说这样的例子,感兴趣的朋友能够去试试。
(2)、使用Kill IE6web

除此以外你还可使用KILL IE6一族,前提是你的浏览器容许执行JS文件。方法很简单,在你的网站的以前加上如下代码就能够了:apache

上面写的canvas

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">

虽然微软将IE向标准迈进了一大步,而事实上IE8还存在一系列渲染的奇怪现象是不争的事实。浏览器

在X-UA-Compatible中可用的方法有:安全

<meta http-equiv="X-UA-Compatible" content="IE=6" >  <meta http-equiv="X-UA-Compatible" content="IE=7" >  <meta http-equiv="X-UA-Compatible" content="IE=8" >  <meta http-equiv="X-UA-Compatible" content="IE=edge" >

其中最后一行是永远以最新的IE版本模式来显示网页的。ide

另外加上svg

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >

而使用,Emulate模式后则更重视。

因此目前来讲仍是以使用

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">

为首选。

七、经过修改HTML部分来实现

个人主要目标是确保我只须要修改HTML部分。这就意味着不须要修改CSS和JavaScript。为何会有这样的需求?须要修改的Web应用视图越多,你越有可能制造bug。将改变限制到一个视图也就限制了bug的出现,即便出现了bug,也能够减小你查找错误的范围。若是一个视图破相了,我能够知道这是由于我增长了一个section元素,而不是考虑是否是CSS文件修改来带的影响。

在研究了全部这些解决方案,并进行一些尝试和设计以后,我回到了Tantek的方案。这是惟一一个只须要修改HTML而不用动CSS和HTML的方案。如今,我在他的方案基础上作了一些改进,来达到我想要的结果。

首先,我不会给那些表明HTML5元素的class增长样式(因此我不会使用.section这样的选择器)。我保留了div元素,而后再增长一个带语义的class来应用样式,并做为进行JavaScript操做的钩子。例如,这样的代码:

     

通过改进后:

<section>
    <div class="section content">  <!-- content ->  </div></section>

这里写连接内容
这样的修改完成后,我依然使用.content做为样式和脚本的入口。这也意味着我不须要修改CSS和JavaScript。

而后,为了不hgroup标签这样的状况,我选择不使用这个标签。我在我已有的全部页面中没有找到任何一个使用了这个标签的。因为hgroup标签只能包含标题元素,若是你确实想要使用这个标签,那么使用hrgoup来包含自己是很是安全的(假设它没有包含其余的块级元素)。