誠然,HTML5提供的更具語義化的標籤,勇者更方便,可是IE6~8不支持,IE6~8不能識別這些標籤,因此不能給他們添加樣式,也不能完成頁面渲染。如下是完成兼容的幾個方法。javascript
1.運用html5shiv框架。讓CSS 樣式應用在未知元素上只需執行 document.createElement(elementName) 便可實現。html5shiv就是根據這個原理建立的。html
<!-–[if lt IE 9]--><script src=" http://html5shiv.googlecode.com/svn/trunk/html5.js "></script ><!--[endif]–- > html5
2.通配符方法 java
使用全局選擇器,通配符(*
)指向正確的目標元素,無腳本應用。框架
這種方法適用相似於 body > * p {}的後代。代碼以下:wordpress
注:這種方法只適用IE7,8 IE6不支持。svn
3.IE條件註釋 google
就是用IE條件註釋,若是是IE9如下,就用傳統的div。3d
註釋:以爲這種方式實現起來很臃腫,沒什麼使用價值。code
4.命名空間
(1) 修改<html>
標籤處的命名空間
(2) 使用相似<html5:section><html5:/section>
標籤
(3) 使用以下選擇器名稱進行控制:html5\:section {}
代碼以下:
注:實現IE6~8兼容
總結來講,命名空間法仍是比2,3方法靠譜多了~~不過htmlshiv仍然是最方便最有效的~~~
詳情請見:http://www.zhangxinxu.com/wordpress/2012/07/no-javascript-ie-html5-elements/