可能几年之后,这个话题就不会再有人提起了。
我现在还是一个热爱前端,努力找实习的大学生,但不得不说,现在是一个web规则的过度期。
一切都是HTML5的原因。
就像ie6一样,总有一天,它会被大多数人抛弃。而总有一天,html5会被大多数的浏览器使用。
为什么要用html5的语义化标签
最简单也是最有用的一个:语义化加快了搜索引擎的搜索速度。
那么问题来了——ie不兼容怎么办?
<header><nav><article>
等这些英文大家并不陌生,通常被我们拿来命名一个div的id或class。而html5里,他们变成了一个和div一样的块级元素的存在。ie6,7,8并不会认识他们,这就意味着我们无法利用css来控制他们的样式了。难道要等到ie6,7,8淘汰了才用html5么?
并不是,我们要用兼容来解决这个问题。
一种比较“小聪明”的方法:
<nav class="nav">
<div class="nav_div">
<ul>
<li>首页</li>
</ul>
</div>
</nav>
在nav里面放一个div,这样,我们就可以用nav_div来进行nav的css样式控制,同时也保留了语义话的目的。但是这种方法是一种取巧的方法,他会增加代码量,而且有一种麻烦的感觉,我明明可以用div来解决,还用nav干什么啊?而且这种方法会污染dom树。
好的兼容方法!!!
<script>
document.createElement('nav');
</script>
这样你就可以放心使用nav而不用担心ie系列不会识别出来了,快试试吧!
引用《HTML5敏捷实践》