国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

解決bootstrap導航欄navbar在IE8上存在缺陷的方法

2019-11-20 09:34:35
字體:
來源:轉載
供稿:網友

在Bootstrap的官網上,提供了一種導航欄的組件:
只要在站點文件夾放好JQ與Bootstrap輸入如下代碼:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>navbar</title> <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"> <link href="css/bootstrap.css" rel="stylesheet" media="screen"> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script type="text/javascript" src="js/bootstrap.js"></script> </head> <body> <div class="container"> <nav class="navbar navbar-default" role="navigation"> <div class="container-fluid"> <div class="navbar-header">  <button type="button" class="navbar-toggle collapsed"  data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">  <span class="sr-only">Toggle navigation</span>  <span class="icon-bar"></span>  <span class="icon-bar"></span>  <span class="icon-bar"></span>  </button>  <a class="navbar-brand" href="#">Brand</a> </div> <div class="collapse navbar-collapse"  id="bs-example-navbar-collapse-1">  <ul class="nav navbar-nav">  <li class="active">  <a href="#">Link</a>  </li>  <li>  <a href="#">Link</a>  </li>  <li class="dropdown">  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown  <span class="caret"></span>  </a>  <ul class="dropdown-menu" role="menu">  <li>   <a href="#">Action</a>  </li>  <li>   <a href="#">Another action</a>  </li>  <li>   <a href="#">Something else here</a>  </li>  <li class="divider"></li>  <li>   <a href="#">Separated link</a>  </li>  <li class="divider"></li>  <li>   <a href="#">One more separated link</a>  </li>  </ul>  </li>  </ul>  <form class="navbar-form navbar-left" role="search">  <div class="form-group">  <input type="text" class="form-control" placeholder="Search">  </div>  <button type="submit" class="btn btn-default">  Submit  </button>  </form>  <ul class="nav navbar-nav navbar-right">  <li>  <a href="#">Link</a>  </li>  <li class="dropdown">  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown  <span class="caret"></span>  </a>  <ul class="dropdown-menu" role="menu">  <li>   <a href="#">Action</a>  </li>  <li>   <a href="#">Another action</a>  </li>  <li>   <a href="#">Something else here</a>  </li>  <li class="divider"></li>  <li>   <a href="#">Separated link</a>  </li>  </ul>  </li>  </ul> </div> </div> </nav> asdddddddddddddddddddddddddddddddddddddddddddddddd </div> </body></html>

 則可以得到一個可以隨窗口大小變化的導航欄:


還可以把<nav class="navbar navbar-default" role="navigation">中的class值改成<nav class="navbar navbar-default navbar-fixed-top" role="navigation">則導航條,就一直懸掛在網頁頂部。無論窗口怎么拖動,如果把class值改成<nav class="navbar navbar-inverse" role="navigation">,則可以得到一條黑色的導航條。

看起來很好用的樣子,但是缺點是相當致命的。且不論此導航條提供的顏色就只有白色與黑色,兩種色調,最可怕的是在IE8中直接以手機方式顯示這個導航條,然而是在1440x900的屏幕分辨率之下。要知道IE8并不是IE6,是WIN7系統默認的瀏覽器。 


這導致用戶的要選擇導航條的項目需要點擊右方的按鈕,之后下拉菜單則變成: 

讓網頁內容直接被下拉正整整一大截。值得注意的是,IE8是現在WIN7默認的瀏覽器。姑且不論IE6在中國的絕對核心地位,即使在越來越多的用戶選用WIN7的情況的大背景下,IE8的兼容性還是一個值得考慮的問題。 

所以,僅能不選擇這種導航條作為網站的導航,可作為替代品的bootstrap的元素有兩種,風格各異,一種是標簽頁,另一種則是按鈕組,所謂的面包屑導航欄也并不是一種很好的解決方式,因為下拉菜單在bootstrap必須以按鈕的方式呈現,寫成文本的話,在IE8同樣是吃力不討好,當然,你完全可以選擇拋開bootstrap,大神們的css都是自己手寫,看不起框架。 

一、標簽頁

標簽的基本樣式如下,存在著下拉菜單需要bootstrap.js,bootstrap.css,jq的支持


標簽頁不隨瀏覽器的尺寸的變化而變化


可以在一個網頁內切換,也可以跳到其他頁面,強力建議導航的標簽頁上的鏈接,都跳到其他與此頁同樣布局的網頁。也就是同樣存在此標簽頁,且位置一模一樣的頁面。
 代碼如下:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Togglabletabs</title> <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"> <link href="css/bootstrap.css" rel="stylesheet" media="screen"> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script type="text/javascript" src="js/bootstrap.js"></script> </head> <body> <div class="container"> <ul class="nav nav-tabs" role="tablist">   <!--一個標簽頁組僅能有一個標簽是active狀態--> <li role="presentation" class="active">    <!--以為跳到本頁的home圖層,不建議這樣做,因為如果都寫到一頁的話,一頁會占用很多代碼-->  <a href="#home" role="tab" data-toggle="tab">Home</a> </li> <li role="presentation">  <a href="#profile" role="tab" data-toggle="tab">Profile</a> </li> <li role="presentation">  <a href="#messages" role="tab" data-toggle="tab">Messages</a> </li> <li role="presentation">  <a href="#settings" role="tab" data-toggle="tab">Settings</a> </li>    <!--蘊含著下拉菜單的寫法--> <li role="presentation" class="dropdown">  <a class="dropdown-toggle" data-toggle="dropdown" href="#">     <!--這是下拉菜單的那個小三角形-->  Dropdown <span class="caret"></span> </a>  <ul class="dropdown-menu" role="menu">  <li role="presentation">  <a href="#home" role="tab" data-toggle="tab">Home</a>  </li>  <li role="presentation">  <a href="#profile" role="tab" data-toggle="tab">Profile</a>  </li>  <li role="presentation">  <a href="#messages" role="tab" data-toggle="tab">Messages</a>  </li>  <li role="presentation">  <a href="#settings" role="tab" data-toggle="tab">Settings</a>  </li>  </ul>     <!--最后都跳到其他樣式都相同的頁,讓瀏覽者感到沒有跳轉就對了,這樣分開代碼,以免一個網頁的代碼都集中在一個頁面-->  <li role="presentation">  <a href="back.html" role="tab">The other pages</a>  </li> </li> </ul> <!--如果標簽頁是跳到本頁圖層的,就在這里寫圖層的內容。--> <div class="tab-content"> <div role="tabpanel" class="tab-pane active" id="home">  Home </div> <div role="tabpanel" class="tab-pane" id="profile">  Profile </div> <div role="tabpanel" class="tab-pane" id="messages">  Messages </div> <div role="tabpanel" class="tab-pane" id="settings">  Settings </div> </div>    </div> </body></html>

 二、選擇按鈕組

這段筆者改了又改,主要是筆者對于此組件的理解不夠透徹。
 一個鋪滿頁面的選擇按鈕組基本樣式如下, 


會隨著瀏覽器的尺寸改變而改變,當然,當被壓縮到極致時,不會像bootstrap自帶的導航條navbar那樣收起來,靜靜地躺在一個按鈕中,


這種選擇按鈕組是可以毫無疑問地兼容IE8的,只是沒有下拉菜單的按鈕組其實是一個超級鏈接,用<a>標簽,而不是<button>標簽,但對比于一般的<a>標簽,此<a>標簽的class上button的代碼,具體見代碼。此按鈕組的代碼實在是太特殊了。
具體代碼如下:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>按鈕組buttongroup</title> <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"> <link href="css/bootstrap.css" rel="stylesheet" media="screen"> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script type="text/javascript" src="js/bootstrap.js"></script> </head> <body> <!--要求按鈕組鋪滿整個頁面--> <div class="btn-group btn-group-justified"> <div class="btn-group"> <!--不存在下拉菜單的按鈕這樣寫,為按鈕定義鏈接比較少見,請注意--> <a href="#" class="btn btn-success"> Left </a> </div> <div class="btn-group"> <button type="button" class="btn btn-success">  Middle </button> </div> <div class="btn-group"> <button type="button" class="btn btn-success">  Right </button> </div> <!--存在下拉菜單的按鈕這樣寫--> <div class="btn-group"> <button type="button" class="btn btn-success dropdown-toggle"  data-toggle="dropdown">  Dropdown  <span class="caret"></span> </button> <ul class="dropdown-menu" role="menu">  <li>  <a href="#">Dropdown link</a>  </li>  <li>  <a href="#">Dropdown link</a>  </li> </ul> </div> </div> </body></html> 

三、面板加表格,內嵌普通超鏈接文字 


最普通的、最簡單的事情往往是最實用的事情,不過這里使用表格來布局,而不是把頁面劃分成12份的柵格系統。因為12份遇到一些如5份的欄目并不好平均分配。
此面板使用了bootstrap提供的面板元素,同樣可以根據窗口大小來自動調整。
代碼比上面的兩種解決方案簡單的多,但同時也沒有這么炫。不過樸素實用確實真的。

<!--這個節點可以不要,放在一個容器container里面只是為了好截圖,不會充滿整個窗口--> <div class="container">   <!--只有body的panel,改變樣式僅改變邊框顏色--> <div class="panel panel-default"> <div class="panel-body" style="text-align: center">  <table border="0" width="100%">  <tr>      <!--如果是六項則可以用bootstrap的柵格系統,每列為2格,如果是7項,那么一個單元格則占100/7=14%的大小。-->  <td width="20%">  <a href="#">項目一</a>  </td>  <td width="20%">  <a href="#">項目二</a>  </td>  <td width="20%">  <a href="#">項目三</a>  </td>  <td width="20%">  <a href="#">項目四</a>  </td>  <td width="20%">  <a href="#">項目五</a>  </td>  </tr>  </table> </div> </div> </div>

以上三種為解決bootstrap導航欄navbar在IE8上存在缺陷的方案。個人認為第一種有點少見與另類,第二種是筆者最推薦的,第三種覺得需要運用到表格,能避免則盡量避免吧。可以把選擇按鈕組放到一個面板里面,取代第三種上面的文字、表格內容也是可以。

如果大家還想深入學習,可以點擊這里進行學習,再為大家附3個精彩的專題:

Bootstrap學習教程

Bootstrap實戰教程

Bootstrap插件使用教程

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岐山县| 赤壁市| 柳江县| 浮山县| 梓潼县| 大宁县| 修文县| 衡山县| 咸丰县| 白山市| 富平县| 仙游县| 临洮县| 奈曼旗| 清镇市| 弋阳县| 瓦房店市| 荃湾区| 伊金霍洛旗| 邻水| 孟村| 镇安县| 青川县| 黑龙江省| 鄂尔多斯市| 阜康市| 梁山县| 平顶山市| 肥东县| 黑水县| 方城县| 乌审旗| 凌海市| 务川| 漠河县| 依兰县| 沙坪坝区| 时尚| 扶绥县| 牙克石市| 且末县|