返回文章列表

HTML5新增了那么多新元素,好多浏览器不支持咋办

上一篇文章介绍了HTML5在元素上都有哪些变化,当然也不止哪些,那么新增了这么多元素,当下那么多老浏览器咋个支持法啊。 国内市场份额最大的目前还是IE6,它可是对HTML5一点儿都不支持,同样还有IE7和IE8,IE9支持部分。 Firefox3,Chrome,Opera,以及Safar...

2 分钟阅读

上一篇文章介绍了HTML5在元素上都有哪些变化,当然也不止哪些,那么新增了这么多元素,当下那么多老浏览器咋个支持法啊。

国内市场份额最大的目前还是IE6,它可是对HTML5一点儿都不支持,同样还有IE7和IE8,IE9支持部分。

Firefox3,Chrome,Opera,以及Safari的支持算是好点的,大部分HTML5新增元素都支持了。

那么IE系的浏览器不支持HTML5新增的语义元素,如何是好? 别着急,这里就给你一点点儿介绍:

先看看淘宝页面上的一段内容(注意红色框住的部分):

有HTML经验的朋友估计一眼就可以看出,这是一个条件语句,而且是专门针对IE的条件语句,意思就是如果是IE系的浏览器,那么执行html5.js

那你这会儿肯定知道有办法处理了吧,而且就在html5.js里面,由于淘宝的html5.js进行了压缩,阅读起来不是特别方便,我就把起核心内容抽出来,为了方便理解,先看个图:

那么接下来我执行下面这个脚本,所有的HTML5语义元素全都被创建了,加上相应的样式,IE系浏览器也就可以支持HTML5了。

[code]
var z="abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video";
for(var i=0;i<z.length;i++) {
document.createElement(z[i]);
}
[/code]

最后还有一件事儿就是:记得CSS中设置文档中使用到的新标签display属性为block。
[code]
<div>
section,article,aside,header,footer,nav,dialog,figure{
display:block;
}
</div>
[/code]

评论交流

暂无评论,欢迎留下你的想法