看到這篇文章有越來越多的人看,我決定給大家節省時間,廢話少說。有幾個點大家要注意。
1、本地除錯需要web server(如iis、apache,nginx),單純地本地開啟檔案不能看到相容效果。
2、如果你發現已經引用了respond.js和bootstrap,仍無效果,請檢視你的bootstrap是否使用了cdn檔案。(詳情看第4點)
3、本文主要針對bootstrap3版本,如果你是bootstrap2 ,請搜尋 bsie ,還可以相容ie6瀏覽器.
4、bootstrap3 需要html5文件宣告。
最近在研究bootstrap(官方,github)這個優秀的前端框架,bootstrap最開始是twitter團隊內部的乙個前端框架,所謂前端框架就是乙個css/html框架,框架裡面有下拉列表、按鈕組、按鈕下拉列表、導航、導航條、麵包屑、分頁、排版、縮圖、警告對話方塊、進度條、**物件等。bootstrap他們預先定義好,等要進行正式製作網頁的時候,我們可以直接用裡面的class就可以了。
今天不多介紹bootstrap的功能,以後有機會可以重點介紹一下,確實十分優秀。響應式布局,定製性強,元件豐富,與jquery完美契合。
進入主題,說說bootstrap 3的相容ie8問題。
bootstrap是乙個響應式的布局,你可以在寬屏電腦、普通電腦,平板電腦,手機上都得到非常優秀的布局體驗。這種響應式的布局正是通過css3的**查詢(media query)功能實現的,根據不同的解析度來匹配不同的樣式。ie8瀏覽器並不支援這一優秀的css3特性,bootstrap在開發文件中寫了如何使用進行相容ie8。但是筆者多次嘗試沒有成功,ie8的布局是亂的。直到今天忍無可忍,決定再嘗試一下,最終獲得成功。有些細節沒有注意到,導致ie8沒法響應式布局。
下面講解下如何讓bootstrap 3相容ie8瀏覽器,至於有人會問我如何相容ie6 ie7,請繞道搜尋bsie (bootstrap2)。
bootstrap在ie8中肯定不如chrome、firefox、ie11那麼完美,部分元件不保證完全相容,還是要hack的。這裡不談。
2、加入meta標籤
前者定義**查詢,後者確定顯示此網頁的ie版本。
3、引入bootstrap檔案
這步十分重要,這裡要看你是引用其他**(cdn)的bootstrap檔案還是把bootstrap檔案放本地。這裡我放在本地,因為之後的部署比較簡單。
respond.js(github)是用於**查詢的,專案說明描述:要和需要進行**查詢的檔案放在同一域中。不然cdn部署的需要更改一些選項,之後再說。
html5shiv : html5.js(google code)(github)是讓不(完全)支援html5的瀏覽器「支援」html5標籤。
詳情請見:github上說,這個js是通過ajax複製乙份你的css檔案。所以需要乙個**頁面去請求檔案。
需要上傳一些檔案,步驟比較複雜,而且一般公共cdn基本沒人有這種操作許可權。
之後再新增**。
jquery 2.0以上就不再支援ie 6/7/8 這三大虐心神器了。所以要想使用bootstrap3中的一些外掛程式效果,比如modal 彈出層對話方塊這類控制項。我們就需要新增 2.0以下的,這裡我用1.10.2的jquery庫。
本人非前端工程師,只是愛好者一枚,如有錯誤還請批評指教。大家相互學習~
本人也正是做了個bootstrap3的小專案(姓名**查詢,由於使用cdn,e8有短暫屏閃,且屏閃無法避免),正是這個專案讓我總結以上經驗出來。
主要還是在於讓respond.js起效果,關鍵就是讓bootstrap的檔案和respond.js同域,不同域需要用cdn上的html做ajax。
懶人**總結如下:
讓Bootstrap 3相容IE8瀏覽器
看到這篇文章有越來越多的人看,我決定給大家節省時間,廢話少說。有幾個點大家要注意。1 本地除錯需要web server 如iis apache,nginx 單純地本地開啟檔案不能看到相容效果。2 如果你發現已經引用了respond.js和bootstrap,仍無效果,請檢視你的bootstrap是否...
bootstrap3 全域性控制總結
在自己需要寫乙個 的時候,發現就需要一些常用的基礎樣式,對全域性起到作用的,不然對每個空間去做設定,會很麻煩。自己想了一下,我們一般是使用bootstrap樣式 就能控制全域性,適配mobile和pc端的樣式,而基本上不用去管全域性的樣式,因此從bootstrap原始碼中摘錄了一些控制全域性的樣式,...
bootstrap3自定義popover顯示的內容
1 popover.js的內容一般都是寫元素裡面。如下。點我彈出 隱藏彈出框 其中title為顯示的標題,data content為顯示的內容 2 popover不會自己初始化,所以在頁面中需要用js進行初始化 function 3 可以通過js呼叫,自定義popover彈出的內容。document...