hack技巧
html条件注释法
<!--[if !IE]> 除ie之外的 <![endif]-->
<!--[if IE]> 针对ie <![endif]-->
<!--[if IE 6]> 仅IE6可识别 <![endif]-->
<!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->
<!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->
html5
ie9以下不支持html5,因此要考虑h5兼容问题。
解决方案:html5shiv
htnl5shiv主要解决HTML5提出的新的元素不被IE6-8识别,这些新元素不能作为父节点包裹子元素,并且不能应用CSS样式。让CSS 样式应用在未知元素上只需执行 document.createElement(elementName)
即可实现。html5shiv就是根据这个原理创建的。
<!–[if lt IE 9]>
<script src="http://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
<![endif]–>
其实这个也可以自己实现:
(function() {
// 页面头部
var a = ['section', 'article', 'nav', 'header', 'footer' /* 其他HTML5元素 */];
for (var i = 0, j = a.length; i < j; i++) {
document.createElement(a[i]);
}
})();
如果只使用特定的几个html5标签,可以自定义,不然还是使用html5shiv。