bootstrap3 兼容IE8瀏覽器!
近期在使用bootstrap這個(gè)優(yōu)秀的前端框架,這個(gè)框架非常強(qiáng)大,框架里面有下拉菜單、按鈕組、按鈕下拉菜單、導(dǎo)航、導(dǎo)航條、面包屑、分頁(yè)、排版、縮略圖、警告對(duì)話框、進(jìn)度條、媒體對(duì)象等,bootstrap都已經(jīng)預(yù)先定義好了,當(dāng)我們制作網(wǎng)頁(yè)上,只需直接調(diào)用里面的css即可
bootstrap是一個(gè)響應(yīng)式的布局,你可以在寬屏電腦、普通電腦,平板電腦,手機(jī)上都得到非常優(yōu)秀的布局體驗(yàn)。這種響應(yīng)式的布局正是通過(guò)CSS3的媒體查詢(Media Query)功能實(shí)現(xiàn)的,根據(jù)不同的分辨率來(lái)匹配不同的樣式。IE8瀏覽器并不支持這一優(yōu)秀的Css3特性,Bootstrap在開(kāi)發(fā)文檔中寫了如何使用進(jìn)行兼容IE8,如果想兼容IE6,IE7,可以搜索bsie (bootstrap2)
Bootstrap在IE8中肯定不如Chrome、Firefox、IE11那么完美,部分組件不保證完全兼容,還是要Hack的
1、使用html5聲明
<!DOCTYPE html> 這里不可以有空格 <html>
注:寫成<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">是不可行的
2、加入meta標(biāo)簽
確定顯示此網(wǎng)頁(yè)的IE版本
<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" /> <meta http-equiv="X-UA-Compatible" content="IE=9" />
注:bootstrap不支持IE兼容模式,為了讓IE瀏覽器運(yùn)行最新的渲染模式,將添加以上標(biāo)簽在頁(yè)面中,IE=edge表示強(qiáng)制使用IE最新內(nèi)核,chrome=1表示如果安裝了針對(duì)IE6/7/8等版本的瀏覽器插件Google Chrome Frame
3、引入bootstrap文件
4、引入html5shiv.min.js和respond.min.js
讓不(完全)支持html5的瀏覽器“支持”html5標(biāo)簽
<!--[if lt IE 9]> <script src="js/bootstrap/html5shiv.min.js"></script> <script src="js/bootstrap/respond.min.js"></script> <![endif]-->
5、添加1.X版本的Jquery庫(kù)
6、在IE8下測(cè)試,發(fā)現(xiàn)一個(gè)問(wèn)題placeholder不被支持,下面是解決IE支持placeholder的方法,本文引用的jquery是1.12.0測(cè)試通過(guò),先引用jquery
<script type="text/javascript" src="js/bootstrap/jquery-1.12.0.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script>
也可以用其他的jquery版本,再引入
[code]<script type="text/javascript" src="js/bootstrap/jquery.placeholder.js"></script>
然后在文件中加入一下代碼
<script type="text/javascript">
$(function () {
$('input, textarea').placeholder();
});
</script>
代碼總結(jié)如下:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" /> <meta name="author" content="zhy" /> <title>ie8</title> <link rel="stylesheet" href="css/bootstrap/bootstrap.min.css"> <!--[if lte IE 9]> <script src=js/bootstrap/respond.min.js"></script> <script src=js/bootstrap/html5shiv.min.js"></script> <![endif]--> <script src="js/bootstrap/jquery-1.12.0.min.js"></script> <script src="js/bootstrap/bootstrap.min.js"></script> </head> <body> </body> </html>
附注:
1、IE下判斷IE版本的語(yǔ)句
<!--[if lte IE 6]> <![endif]--> IE6及其以下版本可見(jiàn) <!--[if lte IE 7]> <![endif]--> IE7及其以下版本可見(jiàn) <!--[if IE 6]> <![endif]--> 只有IE6版本可見(jiàn) <![if !IE]> <![endif]> 除了IE以外的版本 <!--[if lt IE 8]> <![endif]--> IE8以下的版本可見(jiàn) <!--[if gte IE 7]> <![endif]-->
IE7及大于IE7的版本可見(jiàn)
lte:就是Less than or equal to的簡(jiǎn)寫,也就是小于或等于的意思。
lt :就是Less than的簡(jiǎn)寫,也就是小于的意思。
gte:就是Greater than or equal to的簡(jiǎn)寫,也就是大于或等于的意思。
gt :就是Greater than的簡(jiǎn)寫,也就是大于的意思。
! : 就是不等于的意思,跟javascript里的不等于判斷符相同
如果大家還想深入學(xué)習(xí),可以點(diǎn)擊這里進(jìn)行學(xué)習(xí),再為大家附3個(gè)精彩的專題:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章
JS判斷頁(yè)面是否出現(xiàn)滾動(dòng)條的方法
這篇文章主要介紹了JS判斷頁(yè)面是否出現(xiàn)滾動(dòng)條的方法,涉及javascript針對(duì)頁(yè)面元素的讀取與判定實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
微信小程序與后臺(tái)PHP交互的方法實(shí)例分析
這篇文章主要介紹了微信小程序與后臺(tái)PHP交互的方法,結(jié)合實(shí)例形式分析了微信小程序基于wx.request(OBJECT)方法與后臺(tái)php程序交互相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-12-12
關(guān)閉頁(yè)面window.location事件未執(zhí)行的原因及解決方法
這篇文章主要介紹了關(guān)閉頁(yè)面window.location事件未執(zhí)行的原因及解決方法,需要的朋友可以參考下2014-09-09
JavaScript開(kāi)發(fā)Chrome瀏覽器擴(kuò)展程序UI的教程
Chrome擴(kuò)展開(kāi)發(fā)API中提供了一些關(guān)于UI外觀的操作,如果是剛剛上手的話首先需要了解Browser Actions、Omnibox、選項(xiàng)頁(yè)等,在這篇JavaScript開(kāi)發(fā)Chrome瀏覽器擴(kuò)展程序UI的教程中,我們先來(lái)回顧一下基本知識(shí):2016-05-05
JavaScript 和 C++實(shí)現(xiàn)雙向交互
本文主要介紹了在CEF中實(shí)現(xiàn)JavaScript和C++的雙向交互,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
javascript 一個(gè)自定義長(zhǎng)度的文本自動(dòng)換行的函數(shù)
javascript 一個(gè)自定義長(zhǎng)度的文本自動(dòng)換行的函數(shù)...2007-08-08
TypeScript聯(lián)合類型,交叉類型和類型保護(hù)
這篇文章主要介紹了TypeScript聯(lián)合類型,交叉類型和類型保護(hù),聯(lián)合類型就是定義一些類型,定義的變量只需要滿足任意一種類型即可,交叉類型就是需要滿足所有類型,交叉類型使用,更多內(nèi)容我們來(lái)看看下面文章詳細(xì)內(nèi)容吧2021-12-12

