去百度搜搜pie.js和pie.css,先了解這兩個文件的用法,知道怎么用后可以支持大部分的h5標(biāo)簽和css的樣式屬性,極大支持了678不支持的問題
創(chuàng)新互聯(lián)為企業(yè)級客戶提高一站式互聯(lián)網(wǎng)+設(shè)計服務(wù),主要包括成都做網(wǎng)站、成都網(wǎng)站制作、成都app軟件開發(fā)公司、小程序開發(fā)、宣傳片制作、LOGO設(shè)計等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗豐富的經(jīng)驗,可以確保每一個作品的質(zhì)量和創(chuàng)作周期,同時每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。
讓ie瀏覽器支持html5標(biāo)簽
HTML5出現(xiàn)也不短了,很多網(wǎng)站的頁面都進(jìn)行了改版,為了降低代碼量(不需要起太多的類名),提升加載速度,提高標(biāo)簽的語義性,因此,在網(wǎng)頁中大量使用了section,article,header等HTML5標(biāo)簽。自己最近在寫響應(yīng)式布局的范例,里面也使用到了header等標(biāo)簽。還是比較希望能夠做成兼容“舊版瀏覽器”的,在此和大家共享一下,如何讓舊瀏覽器支持HTML5新增標(biāo)簽。
HTML5 新標(biāo)簽兼容舊版本瀏覽器的方法
h5新特性:
語義化標(biāo)簽:hrader/header 、footer/footer、nav/nav、section/section、article/article、aside/aside、video/video、audio/audio
新增表單元素:email、month、number、range、search、tel、url、week、time、date、datatime、datetime-local
新增表單屬性:placeholder、required、autofocus、autocomplete、maxlength、novalidate、max、min、step、multipe、disabled、checked
新增的視頻和音頻標(biāo)簽:video/video、audio/audio
canvas繪圖
SVG繪圖
拖拽
WebWorker、WebStorage、WebSocket
h5新標(biāo)簽的兼容問題:
(1)IE8/IE7/IE6支持通過 document.createElement
(2)將html5shiv.js引入到head中(IE9及以下)
!--[if lt IE9]script src="dist/html5shiv.js"/script![endif]--
載入后,初始化新標(biāo)簽的CSS:
/*html5*/ article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}
如何區(qū)分html和html5:
(1)在文檔類型聲明上,h5為!DOCTYPE html,之前版本比較長
(2)h5有語義化標(biāo)簽,如header/header
HTML5已形成了最終的標(biāo)準(zhǔn),概括來講,它主要是關(guān)于圖像,位置,存儲,多任務(wù)等功能的增加。
新增的元素有繪畫 canvas ,用于媒介回放的 video 和 audio 元素,本地離線存儲 localStorage 長期存儲數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失,而sessionStorage的數(shù)據(jù)在瀏覽器關(guān)閉后自動刪除,此外,還新增了以下的幾大類元素。
內(nèi)容元素,article、footer、header、nav、section。
表單控件,calendar、date、time、email、url、search。
控件元素,webworker, websockt, Geolocation。
移出的元素有下列這些:
顯現(xiàn)層元素:basefont,big,center,font, s,strike,tt,u。
性能較差元素:frame,frameset,noframes。
如何處理HTML5新標(biāo)簽的瀏覽器兼容問題?如何區(qū)分HTML和HTML5?
處理兼容問題有兩種方式:
1.IE8/IE7/IE6支持通過document.方法產(chǎn)生的標(biāo)簽,利用這一特性讓這些瀏覽器支持HTML5新標(biāo)簽。
2.使用是html5shim框架
另外,DOCTYPE聲明的方式是區(qū)分HTML和HTML5標(biāo)志的一個重要因素,此外,還可以根據(jù)新增的結(jié)構(gòu)、功能元素來加以區(qū)分。
對于結(jié)構(gòu)類的標(biāo)簽,通過JS來實現(xiàn)兼容
header footer等結(jié)構(gòu)類標(biāo)簽,在不支持的瀏覽器當(dāng)中,都屬于“用戶自定義標(biāo)簽”,雖然會顯示,但是會以行內(nèi)元素的樣式展示。此時需要利用JS創(chuàng)建這個元素,之后用CSS為其設(shè)置塊元素的樣式。
如下代碼
head
!--?其他無關(guān)代碼已經(jīng)省略?--
script
document.createElement('header');
document.createElement('footer');
/script
style
header,?footer?{
display:?block;
}
/style
/head
body
header此處該標(biāo)簽就成立了,也是以塊元素形式展示/header
footerHTML5?學(xué)堂?,多篇原創(chuàng)技術(shù)文章/footer
/body
注意,JS代碼需要放置在頂部(head當(dāng)中),而不是底部
HTML5的新增結(jié)構(gòu)標(biāo)簽包括headerfooter等,在IE8-瀏覽器當(dāng)中,需要借助JavaScript以及CSS來實現(xiàn)兼容。具體代碼如下:
CSS代碼
style
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary{
display: block;
}
/style
JS代碼(原生JavaScript,如下示范代碼當(dāng)中只包含4種新標(biāo)簽,其他新增結(jié)構(gòu)標(biāo)簽同理)
script
document.createElement('header');
document.createElement('nav');
document.createElement('article');
document.createElement('footer');
/script
對于其他HTML5新增標(biāo)簽,不能夠?qū)崿F(xiàn)兼容問題。
資料來源:HTML5學(xué)堂(碼匠) -?HTML5 新標(biāo)簽兼容舊版本瀏覽器的方法