如今HTML5愈來(lái)愈引發(fā)大家的關(guān)注了,但目前支持HTML5的瀏覽器還不是主流,特別是國(guó)內(nèi)用戶(hù)近50%以上仍舊使用IE6,由于支持HTML5的IE9不支持Xp系統(tǒng)安裝,這樣未來(lái)很長(zhǎng)一段時(shí)間,HTML5的開(kāi)發(fā)者將必須考慮向下兼容的問(wèn)題。HTML5的標(biāo)簽或CSS選擇器兼容性的做法有很多,其中自己生成標(biāo)簽元素就是一種。
基本原理參見(jiàn)如下代碼在IE8中效果,樣式根本沒(méi)有起作用。
<html>
<head>
<style>mxria{ color: red; }</style>
</head>
<body>
<mxria>Hello!</mxria>
</body>
</html>
為了是瀏覽器識(shí)別<mxria></mxria>標(biāo)簽并顯示對(duì)應(yīng)樣式的效果,我們可以如下增加一段js,看到效果就不同了
<html>
<head>
<style> mxria{ color: red; }</style>
<script>document.createElement("mxria")</script>
</head>
<body>
<mxria>Hello!mxria.com</mxria>
</body>
</html>
現(xiàn)在大家明白了其中的奧妙吧!對(duì),就是document.createElement ,HTML5 shiv就是這樣一個(gè)js插件,將所有HTML5的標(biāo)簽進(jìn)行了重新生成,你需要加載該插件,那么HTML5程序就能被所有瀏覽器識(shí)別了。
下載地址:http://html5shim.googlecode.com/svn/trunk/html5.js
trunk/html5.js簡(jiǎn)單使用方法:
下面是引用Google的html5.js文件:
html5shiv的使用非常的簡(jiǎn)單,考慮到IE9是支持html5的,所以只需要在頁(yè)面head中添加如下代碼即可:
<!--[if lt IE 9]>
<script src="dist/html5shiv.js"></script>
<![endif]-->
將上代碼復(fù)制到head部分,記住一定要是head部分(因?yàn)镮E必須在元素解析前知道這個(gè)元素,所以這個(gè)js文件不能在其他位置調(diào)用,否則失效)
當(dāng)然,你也可以把代碼拿出來(lái)自己看著辦:
(function(){if(!/*@cc_on!@*/0)return;var e ="abbr,article,aside,audio,canvas,datalist,details,dialog,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video".split(','),i=e.length;while(i--){document.createElement(e[i])}})()
最后在css里面加上這段:
/*html5*/ article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}
主要是讓這些html5標(biāo)簽成塊狀,像div那樣。
好了,簡(jiǎn)單吧,一句話(huà)概括就是:引用html5.js 使html5標(biāo)簽成塊狀