一。兼容处理
在不支持html5新标签的浏览器里,会将这些新的标签解析成行内元素(inline)对待,所以我们只需要将其转化为块级元素(block),即可使用,(i9以上可用):
header, section, footer, aside, nav, main, article, figure {
display: block;
}
但i9以下不能正常解析这些新标签,但是却可以识别通过document.createElement(‘tagname’)创建的自定义标签,于是我们的解决方案就是将html5的新标签通过document.createElement(“”tagName)来创建一遍,这样低版本也能正常解析HTML5新标签了
2.i8以下处理:
1).创建标签的方式 *(document.createElement(“xxx”))
ps:在实际开发中,我们采用更多的是通过检测iE浏览器的版本来加载第三方的一个js库来解决这个兼容问题
2).引入html5shiv.min.js文件处理
3.条件注释
1、是否IE,执行
<!--[if IE]> html代码 <![endif]-->
<!--[if !IE]> html代码 <![endif]-->
2.具体版本执行
<!--[if IE 6]> html代码 <![endif]-->(ie6执行,其他版本不执行)
3.版本区间执行
<!-- IE8以下版本的浏览器才会执行内部的html代码,如需要包含IE8则使用lte -->(ie8以下执行,其他版本不执行)
<!--[if lte IE 8]> html代码 <![endif]-->
<!-- IE7以上版本的浏览器才会执行内部的html代码,如需要包含IE7则使用gte -->(ie7以上执行,其他版本不执行)
<!--[if gt IE 7]> html代码 <![endif]-->