HTML5的語義化標(biāo)簽以及屬性,可以讓開發(fā)者非常方便地實現(xiàn)清晰的web頁面布局,加上CSS3的效果渲染,快速建立豐富靈活的web頁面顯得非常簡單。
HTML5的新標(biāo)簽元素有:
header 定義頁面或區(qū)段的頭部;
footer 定義頁面或區(qū)段的尾部;
nav 定義頁面或區(qū)段的導(dǎo)航區(qū)域;
section 頁面的邏輯區(qū)域或內(nèi)容組合;
article 定義正文或一篇完整的內(nèi)容;
aside 定義補(bǔ)充或相關(guān)內(nèi)容;
使用他們能讓代碼語義化更直觀,而且更方便SEO優(yōu)化。但是此HTML5新標(biāo)簽在IE6/IE7/IE8上并不能識別,需要進(jìn)行JavaScript處理。以下就介紹幾種方式。
方式一:Coding JavaScript
!--[if lt IE9] script (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( , var i= e.length; while (i--){ document.createElement(e[i])})() /script ![endif]-- 如果是IE9以下的IE瀏覽器將創(chuàng)建HTML5標(biāo)簽, 這樣非IE瀏覽器就會忽視這段代碼,也就不會有無謂的http請求了。
第二種方法:使用Google的html5shiv包(推薦)
!--[if lt IE9] script src= http://html5shiv.googlecode.com/svn/trunk/html5.js /script ![endif]--
由于國內(nèi)google的服務(wù)器訪問卡,建議調(diào)用國內(nèi)的cdn
!--[if lt IE 9] script src= http://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js /script ![endif]--
但是不管使用以上哪種方法,都要初始化新標(biāo)簽的CSS.因為HTML5在默認(rèn)情況下表現(xiàn)為內(nèi)聯(lián)元素,對這些元素進(jìn)行布局我們需要利用CSS手工把它們轉(zhuǎn)為塊狀元素方便布局
/*html5*/article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}但是如果ie6/7/8 禁用腳本的用戶,那么就變成了無樣式的 白板 網(wǎng)頁,我們該怎么解決呢?
我們可以參照facebook的做法,即引導(dǎo)用戶進(jìn)入帶有noscript標(biāo)識的 “/?_fb_noscript=1”頁面,用 html4 標(biāo)簽替換 html5 標(biāo)簽,這要比為了保持兼容性而寫大量 hack 的做法更輕便一些。
!--[if lte IE 8] noscript style .html5-wrappers{display:none!important;} /style p >這樣可以引導(dǎo)用戶開啟腳本,或者直接跳轉(zhuǎn)到HTML4標(biāo)簽設(shè)計的界面。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請關(guān)注PHP !
相關(guān)推薦:
html5實現(xiàn)兼容各大瀏覽器的播放器的解析
html5中video標(biāo)簽無法播放mp4問題的解決辦法
以上就是如何使用HTML5 Shiv解決IE不兼容HTML5標(biāo)簽的方法的詳細(xì)內(nèi)容,其它編程語言
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答