如何解决HTML5在老版本IE下的兼容性

html-css010

如何解决HTML5在老版本IE下的兼容性,第1张

解决兼容性可以使用css来实现。

为老版本ie专门写一个old.css,在html里面加一段js来识别浏览器版本,当老版本ie访问时自动启用old.css,即可兼容。

另外老版本ie现在使用的人并不是很多,如果嫌写代码麻烦的话,也完全可以忽略老版本ie用户,或者在html里面加js识别老ie访问时显示一段话“您的ie版本太旧了,不能很好的展示网站功能,建议更新ie浏览器或者下载google、火狐浏览器等”目前腾讯邮箱好像就是这样提示 的,也就是做一个友好提示。

HTML5的新增结构标签包括<header><footer>等,在IE8-浏览器当中,需要借助JavaScript以及CSS来实现兼容。具体代码如下:

CSS代码

<style>

article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary{

display: block

}

</style>

JS代码(原生JavaScript,如下示范代码当中只包含4种新标签,其他新增结构标签同理)

<script>

document.createElement('header')

document.createElement('nav')

document.createElement('article')

document.createElement('footer')

</script>

对于其他HTML5新增标签,不能够实现兼容问题。

资料来源:HTML5学堂(码匠) - HTML5 新标签兼容旧版本浏览器的方法

为了方便兼容IE8中使用HTML5,可以使用JS的方法来使低于IE9版本的IE浏览器兼容。

<!--[if lt IE 9]>

<script>

(function(){

var tags = ['header','footer','figure','figcaption','details','summary','hgroup','nav','aside','article','section','mark','abbr','meter','output','progress','time','video','audio','canvas','dialog']

for(var i=tags.length - 1i>-1i--){ document.createElement(tags[i])}

})()

</script>

<![endif]-->

第二种方法:使用Google的html5shiv包(Google在中国打不开,谨慎使用)

<!--[if lt IE9]>