bootstrap3 相容IE8瀏覽器

来源:http://www.cnblogs.com/gamehiboy/archive/2016/01/21/5147390.html
-Advertisement-
Play Games

近期在使用bootstrap這個優秀的前端框架,這個框架非常強大,框架裡面有下拉菜單、按鈕組、按鈕下拉菜單、導航、導航條、麵包屑、分頁、排版、縮略圖、警告對話框、進度條、媒體對象等,bootstrap都已經預先定義好了,當我們製作網頁上,只需直接調用裡面的css即可 bootstrap是一個響...


  近期在使用bootstrap這個優秀的前端框架,這個框架非常強大,框架裡面有下拉菜單、按鈕組、按鈕下拉菜單、導航、導航條、麵包屑、分頁、排版、縮略圖、警告對話框、進度條、媒體對象等,bootstrap都已經預先定義好了,當我們製作網頁上,只需直接調用裡面的css即可

  bootstrap是一個響應式的佈局,你可以在寬屏電腦、普通電腦,平板電腦,手機上都得到非常優秀的佈局體驗。這種響應式的佈局正是通過CSS3的媒體查詢(Media Query)功能實現的,根據不同的解析度來匹配不同的樣式。IE8瀏覽器並不支持這一優秀的Css3特性,Bootstrap在開發文檔中寫瞭如何使用進行相容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標簽

確定顯示此網頁的IE版本

<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
<meta http-equiv="X-UA-Compatible" content="IE=9" />

註:bootstrap不支持IE相容模式,為了讓IE瀏覽器運行最新的渲染模式,將添加以上標簽在頁面中,IE=edge表示強制使用IE最新內核,chrome=1表示如果安裝了針對IE6/7/8等版本的瀏覽器插件Google Chrome Frame

3、引入bootstrap文件

<link href="css/bootstrap/bootstrap.min.css" rel="stylesheet">

4、引入html5shiv.min.js和respond.min.js

   讓不(完全)支持html5的瀏覽器“支持”html5標簽

<!--[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庫

<script src="js/bootstrap/jquery-1.12.0.min.js"></script>

6、在IE8下測試,發現一個問題placeholder不被支持,下麵是解決IE支持placeholder的方法,本文引用的jquery是1.12.0測試通過,先引用jquery

<script type="text/javascript" src="js/bootstrap/jquery-1.12.0.min.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>

也可以用其他的jquery版本,再引入

<script type="text/javascript" src="js/bootstrap/jquery.placeholder.js"></script>

然後在文件中加入一下代碼

<script type="text/javascript">
    $(function () {
        $('input, textarea').placeholder();
    });
</script>

代碼總結如下:

<!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版本的語句

<!--[if lte IE 6]>
<![endif]-->
IE6及其以下版本可見

<!--[if lte IE 7]>
<![endif]-->
IE7及其以下版本可見

<!--[if IE 6]>
<![endif]-->
只有IE6版本可見

<![if !IE]>
<![endif]>
除了IE以外的版本

<!--[if lt IE 8]>
<![endif]-->
IE8以下的版本可見

<!--[if gte IE 7]>
<![endif]-->
IE7及大於IE7的版本可見

lte:就是Less than or equal to的簡寫,也就是小於或等於的意思。
lt :就是Less than的簡寫,也就是小於的意思。
gte:就是Greater than or equal to的簡寫,也就是大於或等於的意思。
gt :就是Greater than的簡寫,也就是大於的意思。
! : 就是不等於的意思,跟javascript里的不等於判斷符相同

2、bootstrap3相關css、js

   下載地址:http://pan.baidu.com/s/1getpDjt

     jquery.placeholder.js文件的下載地址https://github.com/mathiasbynens/jquery-placeholder

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言公司同事做了一個報表系統,需要做集群部署,本來是一件挺容易的事,但是部署過程中卻遇到啦種種蛋疼問題。問題1、我們的報表使用的是微軟的水晶報表,需要上傳報表的配置文件,然後水晶報表提供的控制項來讀取文件,不支持直接圖片伺服器提供的http:www.xxxx.com/a.jpg。但是他支持\\192....
  • css3動畫border旋轉時的應用。 效果圖上面代碼中要註意的地方:border-radius: 70px;為70px時div才能顯示為圓形,因為上下左右的border多出...
  • 修改radio、checkbox、select預設樣式,支持CSS3及js兩種方式,CSS3相容IE9以上,js方式支持IE8以上。select修改預設樣式僅支持IE10以上。
  • 一: JSON 語法是 JavaScript 對象表示語法的子集,其語法規則如下:數據在鍵值對中數據由逗號分隔花括弧保存對象:{}方括弧保存數組:[] 如:[{"name":"g","age":11},{"name":"c","age":22},{"name":"s","age":33}]二:js....
  • 最近公司的一款新產品APP要進行研發,老大的意思想用H5來做混合APP以達到高效敏捷開發的目的。我自然就開始進行各種技術選型的調研,這裡重點想說的是我最後挑選出的2款hybrid app開發技術方案:RN(react native),HBuilder。React Native是大名鼎鼎的Facebo...
  • 摘自前端農民工的博客讓我們先來看幾個網站:codingteambitioncloud9註意這幾個網站的相同點,那就是在瀏覽器中,做了原先“應當”在客戶端做的事情。它們的界面切換非常流暢,響應很迅速,跟傳統的網頁明顯不一樣,它們是什麼呢?這就是單頁Web應用。所謂單頁應用,指的是在一個頁面上集成多種功...
  • 在網頁的佈局過程中,經常會用到float屬性來實現頁面的左右佈局,但是有個問題就是父元素的高度並不能根據子元素的高度自適應。比如下麵這段代碼: title p left right 在瀏覽器...
  • “你為什麼要做一個程式員?”,“因為我有一顆改變世界的心!”,“說人話”,“因為我沒朋友。。。” -------------純屬娛樂===============================================...
一周排行
    -Advertisement-
    Play Games
  • 1、預覽地址:http://139.155.137.144:9012 2、qq群:801913255 一、前言 隨著網路的發展,企業對於信息系統數據的保密工作愈發重視,不同身份、角色對於數據的訪問許可權都應該大相徑庭。 列如 1、不同登錄人員對一個數據列表的可見度是不一樣的,如數據列、數據行、數據按鈕 ...
  • 前言 上一篇文章寫瞭如何使用RabbitMQ做個簡單的發送郵件項目,然後評論也是比較多,也是準備去學習一下如何確保RabbitMQ的消息可靠性,但是由於時間原因,先來說說設計模式中的簡單工廠模式吧! 在瞭解簡單工廠模式之前,我們要知道C#是一款面向對象的高級程式語言。它有3大特性,封裝、繼承、多態。 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 介紹 Nodify是一個WPF基於節點的編輯器控制項,其中包含一系列節點、連接和連接器組件,旨在簡化構建基於節點的工具的過程 ...
  • 創建一個webapi項目做測試使用。 創建新控制器,搭建一個基礎框架,包括獲取當天日期、wiki的請求地址等 創建一個Http請求幫助類以及方法,用於獲取指定URL的信息 使用http請求訪問指定url,先運行一下,看看返回的內容。內容如圖右邊所示,實際上是一個Json數據。我們主要解析 大事記 部 ...
  • 最近在不少自媒體上看到有關.NET與C#的資訊與評價,感覺大家對.NET與C#還是不太瞭解,尤其是對2016年6月發佈的跨平臺.NET Core 1.0,更是知之甚少。在考慮一番之後,還是決定寫點東西總結一下,也回顧一下.NET的發展歷史。 首先,你沒看錯,.NET是跨平臺的,可以在Windows、 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 添加節點(nodes) 通過上一篇我們已經創建好了編輯器實例現在我們為編輯器添加一個節點 添加model和viewmode ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...
  • 類型檢查和轉換:當你需要檢查對象是否為特定類型,並且希望在同一時間內將其轉換為那個類型時,模式匹配提供了一種更簡潔的方式來完成這一任務,避免了使用傳統的as和is操作符後還需要進行額外的null檢查。 複雜條件邏輯:在處理複雜的條件邏輯時,特別是涉及到多個條件和類型的情況下,使用模式匹配可以使代碼更 ...
  • 在日常開發中,我們經常需要和文件打交道,特別是桌面開發,有時候就會需要載入大批量的文件,而且可能還會存在部分文件缺失的情況,那麼如何才能快速的判斷文件是否存在呢?如果處理不當的,且文件數量比較多的時候,可能會造成卡頓等情況,進而影響程式的使用體驗。今天就以一個簡單的小例子,簡述兩種不同的判斷文件是否... ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...