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. 說明 /* Performs operations on System.String instances that contain file or directory path information. These operations are performed in a cross-pla ...
  • 視頻地址:【WebApi+Vue3從0到1搭建《許可權管理系統》系列視頻:搭建JWT系統鑒權-嗶哩嗶哩】 https://b23.tv/R6cOcDO qq群:801913255 一、在appsettings.json中設置鑒權屬性 /*jwt鑒權*/ "JwtSetting": { "Issuer" ...
  • 引言 集成測試可在包含應用支持基礎結構(如資料庫、文件系統和網路)的級別上確保應用組件功能正常。 ASP.NET Core 通過將單元測試框架與測試 Web 主機和記憶體中測試伺服器結合使用來支持集成測試。 簡介 集成測試與單元測試相比,能夠在更廣泛的級別上評估應用的組件,確認多個組件一起工作以生成預 ...
  • 在.NET Emit編程中,我們探討了運算操作指令的重要性和應用。這些指令包括各種數學運算、位操作和比較操作,能夠在動態生成的代碼中實現對數據的處理和操作。通過這些指令,開發人員可以靈活地進行算術運算、邏輯運算和比較操作,從而實現各種複雜的演算法和邏輯......本篇之後,將進入第七部分:實戰項目 ...
  • 前言 多表頭表格是一個常見的業務需求,然而WPF中卻沒有預設實現這個功能,得益於WPF強大的控制項模板設計,我們可以通過修改控制項模板的方式自己實現它。 一、需求分析 下圖為一個典型的統計表格,統計1-12月的數據。 此時我們有一個需求,需要將月份按季度劃分,以便能夠直觀地看到季度統計數據,以下為該需求 ...
  • 如何將 ASP.NET Core MVC 項目的視圖分離到另一個項目 在當下這個年代 SPA 已是主流,人們早已忘記了 MVC 以及 Razor 的故事。但是在某些場景下 SSR 還是有意想不到效果。比如某些靜態頁面,比如追求首屏載入速度的時候。最近在項目中回歸傳統效果還是不錯。 有的時候我們希望將 ...
  • System.AggregateException: 發生一個或多個錯誤。 > Microsoft.WebTools.Shared.Exceptions.WebToolsException: 生成失敗。檢查輸出視窗瞭解更多詳細信息。 內部異常堆棧跟蹤的結尾 > (內部異常 #0) Microsoft ...
  • 引言 在上一章節我們實戰了在Asp.Net Core中的項目實戰,這一章節講解一下如何測試Asp.Net Core的中間件。 TestServer 還記得我們在集成測試中提供的TestServer嗎? TestServer 是由 Microsoft.AspNetCore.TestHost 包提供的。 ...
  • 在發現結果為真的WHEN子句時,CASE表達式的真假值判斷會終止,剩餘的WHEN子句會被忽略: CASE WHEN col_1 IN ('a', 'b') THEN '第一' WHEN col_1 IN ('a') THEN '第二' ELSE '其他' END 註意: 統一各分支返回的數據類型. ...
  • 在C#編程世界中,語法的精妙之處往往體現在那些看似微小卻極具影響力的符號與結構之中。其中,“_ =” 這一組合突然出現還真不知道什麼意思。本文將深入剖析“_ =” 的含義、工作原理及其在實際編程中的廣泛應用,揭示其作為C#語法奇兵的重要角色。 一、下劃線 _:神秘的棄元符號 下劃線 _ 在C#中並非 ...