tml5新增加了一些語義標簽,比如nav,head,article,aside,foot,audio,video等等,但是這些標簽在ie8以下是不兼容的,正所謂用戶就是上帝,為了滿足廣大還使用ie8以下版本的用戶,就要做兼容處理。
方法1.動態創建標簽,以nav為例:
這樣創建的標簽是行內元素,如果要使元素變為塊級元素,就要修改display屬性。
方法2.引用js插件
html5shiv插件對ie瀏覽器做了很好的兼容,能夠兼容絕大部分場景使用。
但是引用完插件,我又在想,我只是想在使用低版本ie的時候引用插件,使用高版本ie或者chrome瀏覽器并不想引用,那該怎么辦呢?
在編輯器中使用cc:ie8,然后按一下tab鍵,這樣就能在ie8及以下版本才會調用插件了。
HTML5培訓課程參加學習過的,大家應該都很熟悉了,今天我們來討論一下關于瀏覽器的兼容問題。
1.為什么會出現瀏覽器兼容問題?
由于各大主流瀏覽器由不同的廠家開發,所用的核心架構和代碼也很難重和,這就為各種莫名其妙的Bug(代碼錯誤)提供了溫床。再加上各大廠商出于自身利益考慮而設置的種種技術壁壘,讓CSS應用起來比想象得要麻煩。瀏覽器的兼容問題是我們必須去克服的。
2.關于瀏覽器
1)主流瀏覽器
Internet Explorer、 Safari、Mozilla Firefox、 Google Chrome、Opera、百度、360、搜狗、傲游
2)最早的瀏覽器 : Mosaic / Netscape Navigator(網景領航者)(1994-2008)簡稱NN
3)瀏覽器大戰
第一次瀏覽器大戰發生在上個世紀90年代,微軟發布了它的IE瀏覽器,和網景公司的Netscape Navigator大打出手。
第二次瀏覽器大戰發生在20世紀。
4)瀏覽器內核及代表作品
瀏覽器最關鍵的部分就是它的渲染引擎(Rendering Engine),也就是大家平常所說的的“內核”。
3、主流瀏覽器市場份額
2013年2月份全球主流瀏覽器市場份額排行榜
2014年11月份全球主流瀏覽器市場份額排行榜
2015年5月份全球主流瀏覽器市場份額排行榜
2016年12----2017年2月
(1)五大瀏覽器內核
?Trident (MSHTML)(三叉戟;三叉線;三齒魚叉)
?Gecko(壁虎)
?Presto (迅速的)
?Webkit(Safari內核,Chrome內核原型,它是蘋果公司自己的內核,也是蘋果的Safari瀏覽器使用的內核)
?Blink (由Google和Opera Software開發的瀏覽器排版引擎)
(2)五大瀏覽器內核代表作品
*Trident:IE、Maxthon(遨游)、騰訊 、Theworld世界之窗、360瀏覽器
代表作品IE,因為IE捆綁在Windows中,所以占有極高的市場份額,又稱IE內核或是MSHTML,此內核只能應用于windows平臺,且是不開源的。
*Gecko:代表作品Mozilla Firefox 是開源的,它的最大優勢是跨平臺,能在Microsoft Windows、Linux和MacOS X等主要操作系統上運行。
*Webkit :代表作品Safari、Chrome , 是一個開源項目。
*Presto :代表作品Opera ,Presto是由Opera Software開發的瀏覽器排版引擎。它也是世界上公認的渲染速度最快的引擎。
*Blink :由Google和Opera Software開發的瀏覽器排版引擎,2013年4月發布。
TML5 現在已經不是 SGML 的子集,主要是關于圖像,位置,存儲,多任務等功能的增加。
繪畫 canvas:用于媒介回放的 video 和 audio 元素;
本地離線存儲: localStorage 長期存儲數據,瀏覽器關閉后數據不丟失;sessionStorage 的數據在瀏覽器關閉后自動刪除;
語意化更好的內容元素:比如 article、footer、header、nav、section;
表單控件:calendar、date、time、email、url、search;
新的技術:webworker, websocket, Geolocation;
兼容處理:
支持HTML5新標簽:
IE8/IE7/IE6支持通過document.createElement方法產生的標簽,可以利用這一特性讓這些瀏覽器支持HTML5新標簽。瀏覽器支持新標簽后,還需要添加標簽默認的樣式。當然也可以直接使用成熟的框架、比如html5shiv;
<!--[if lt IE 9]> <script> src="https://cdn.bootcss.com/html5shiv/r29/html5.js"</script> <![endif]-->
* 如何區分HTML5: 看這里
*請認真填寫需求信息,我們會在24小時內與您取得聯系。