亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

Bootstrap每天必學之導航

2024-05-06 16:25:23
字體:
來源:轉載
供稿:網友
Bootstrap每天必學之導航,本文講解的就是大家在做項目時一定會接觸到的導航,感興趣的小伙伴們可以參考一下
 

1、導航(基礎樣式)

導航對于一位前端人員來說并不陌生。可以說導航是一個網站重要的元素組件之一,可以便于用戶查找網站所提供的各項功能服務。導航的制作方法也是千奇百怪,五花八門。在這一節中將向大家介紹如何使用Bootstrap框架制作各式各樣的導航。

在Bootstrap框架將導航獨立出來成為一個導航組件,根據不同的版本,可以找到對應的源碼:

? LESS版本:對應的源文件是navs.less

? Sass版本:對應的源文件是_navs.scss

? 編譯后版本:對應源碼是bootstrap.css文件第3450行~第3641行

導航基礎樣式

Bootstrap框架中制作導航條主要通過“.nav”樣式。默認的“.nav”樣式不提供默認的導航樣式,必須附加另外一個樣式才會有效,比如“nav-tabs”、“nav-pills”之類。比如一個tab導航條的例子,他的實現方法就是為ul標簽加入.nav和nav-tabs兩個類樣式。

<ul class="nav nav-tabs">  <li><a href="##">Home</a></li>  <li><a href="##">CSS3</a></li>  <li><a href="##">Sass</a></li>  <li><a href="##">jQuery</a></li>  <li><a href="##">Responsive</a></li></ul>

Bootstrap每天必學之導航

/源碼請查閱bootstrap.css文件第3450行~第3493行/

.nav { padding-left: 0; margin-bottom: 0; list-style: none;}.nav> li { position: relative; display: block;}.nav> li > a { position: relative; display: block; padding: 10px 15px;}.nav> li >a:hover,.nav> li >a:focus { text-decoration: none; background-color: #eee;}.nav>li.disabled> a { color: #999;}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus { color: #999; text-decoration: none; cursor: not-allowed; background-color: transparent;}.nav .open > a,.nav .open >a:hover,.nav .open >a:focus { background-color: #eee; border-color: #428bca;}.nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5;}.nav> li > a >img { max-width: none;}

2、導航(標簽形tab導航)

標簽形導航,也稱為選項卡導航。特別是在很多內容分塊顯示的時,使用這種選項卡來分組十分適合。

標簽形導航是通過“nav-tabs”樣式來實現。在制作標簽形導航時需要在原導航“nav”上追加此類名,如:

<ul class="nav nav-tabs">   <li><a href="##">Home</a></li>   <li><a href="##">CSS3</a></li>   <li><a href="##">Sass</a></li>   <li><a href="##">jQuery</a></li>   <li><a href="##">Responsive</a></li></ul>

運行的效果如下所示:

Bootstrap每天必學之導航

實現原理非常的簡單,將菜單項(li)按塊顯示,并且讓他們在同一水平上排列,然后定義非高亮菜單的樣式和鼠標懸浮效果。代碼如下:

/源碼請查閱bootstrap.css文件第3494行~第3509行/

.nav-tabs {border-bottom: 1px solid #ddd;}.nav-tabs > li {float: left;margin-bottom: -1px;}.nav-tabs > li > a {margin-right: 2px;line-height: 1.42857143;border: 1px solid transparent;border-radius: 4px 4px 0 0;}.nav-tabs > li >a:hover {border-color: #eee #eee #ddd;}

其實上例的效果和我們平時看到的選項卡效果并不一致。一般情況之下,選項卡教會有一個當前選中項。其實在Bootstrap框架也相應提供了。假設我們想讓“Home”項為當前選中項,只需要在其標簽上添加類名“class="active"”即可:

<ul class="nav nav-tabs">  <li class="active"><a href="##">Home</a></li>  …</ul>

運行效果如下:

Bootstrap每天必學之導航

對應樣式代碼如下:

/源碼請查閱bootstrap.css文件第3510行~第3518行/

.nav-tabs >li.active> a,.nav-tabs >li.active>a:hover,.nav-tabs >li.active>a:focus { color: #555; cursor: default; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent;}

除了當前項之外,有的選項卡還帶有禁用狀態,實現這樣的效果,只需要在標簽項上添加“class=”disabled””即可:

<ul class="nav nav-tabs">   <li class="active"><a href="##">Home</a></li>   …   <li class="disabled"><a href="##">Responsive</a></li></ul>

運行效果如下:

Bootstrap每天必學之導航

實現這個效果的樣式,在默認樣式“.nav”中就帶有:

/源碼請查看bootstrap.css文件第3469行~第3478行/

.nav>li.disabled> a { color: #999;}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus { color: #999; text-decoration: none; cursor: not-allowed; background-color: transparent;}

注意:我們看到的選項卡效果,點擊菜單項就可以切換內容,如果要實現這樣的效果需要配合js插件,這部分將在后面的博客中會介紹。

3、導航(膠囊形(pills)導航)

膠囊形(pills)導航聽起來有點別扭,因為其外形看起來有點像膠囊形狀。但其更像我們平時看到的大眾形導航。當前項高亮顯示,并帶有圓角效果。其實現方法和“nav-tabs”類似,同樣的結構,只需要把類名“nav-tabs”換成“nav-pills”即可:

<ul class="nav nav-pills">   <li class="active"><a href="##">Home</a></li>   <li><a href="##">CSS3</a></li>   <li><a href="##">Sass</a></li>   <li><a href="##">jQuery</a></li>   <li class="disabled"><a href="##">Responsive</a></li></ul>

實現效果樣式代碼:

/源碼請查閱bootstrap.css文件第3563行~第3577行/

.nav-pills > li { float: left;}.nav-pills > li > a { border-radius: 4px;}.nav-pills > li + li { margin-left: 2px;}.nav-pills >li.active> a,.nav-pills >li.active>a:hover,.nav-pills >li.active>a:focus {color: #fff; background-color: #428bca;}

4、導航(垂直堆疊的導航)

在實際運用當中,除了水平導航之外,還有垂直導航,就類似前面介紹的垂直排列按鈕一樣。制作垂直堆疊導航只需要在“nav-pills”的基礎上添加一個“nav-stacked”類名即可(stacked就是堆的意思):

<ul class="nav nav-pills nav-stacked">   <li class="active"><a href="##">Home</a></li>   <li><a href="##">CSS3</a></li>   <li><a href="##">Sass</a></li>   <li><a href="##">jQuery</a></li>   <li class="disabled"><a href="##">Responsive</a></li></ul>

運行效果如下:

Bootstrap每天必學之導航

垂直堆疊導航與膠囊形導航相比,主要是讓導航項不浮動,讓其垂直排列,然后給相鄰導航項留有一定的間距:

/源碼請查閱bootstrap.css文件第3578行~第3584行/

.nav-stacked > li { float: none;}.nav-stacked > li + li { margin-top: 2px; margin-left: 0;}

大家是否還記得,在下拉菜單一節中,下拉菜單組與組之間有一個分隔線。其實在垂直堆疊導航也具有這樣的效果,只需要添加在導航項之間添加“<li class=”nav-divider”></li>”即可:

<ul class="nav nav-pills nav-stacked">  <li class="active"><a href="##">Home</a></li>  <li><a href="##">CSS3</a></li>  <li><a href="##">Sass</a></li>  <li><a href="##">jQuery</a></li>  <li class="nav-divider"></li>  <li class="disabled"><a href="##">Responsive</a></li></ul>

運行效果如下:

Bootstrap每天必學之導航

實現樣式:

/源碼請查閱bootstrap.css文件第3485行~3490行/

.nav .nav-divider {height: 1px;margin: 9px 0;overflow: hidden;background-color: #e5e5e5;}

或許你會問,如果我在”nav-tabs”上添加“nav-stacked”是不是也能實現垂直的標簽選項導航呢?答案是:在bootstrap V2.x版本可以,但在Bootstrap V3.x版本將這個效果取消了,可能作者覺得垂直選擇項并不太常見,也不美觀吧。

4、自適應導航(使用)

自適應導航指的是導航占據容器全部寬度,而且菜單項可以像表格的單元格一樣自適應寬度。自適應導航和前面使用“btn-group-justified”制作的自適應按鈕組是一樣的。只不過在制作自適應導航時更換了另一個類名“nav-justified”。當然他需要和“nav-tabs”或者“nav-pills”配合在一起使用。如:

<ul class="nav nav-tabs nav-justified">   <li class="active"><a href="##">Home</a></li>   <li><a href="##">CSS3</a></li>   <li><a href="##">Sass</a></li>   <li><a href="##">jQuery</a></li>   <li><a href="##">Responsive</a></li></ul>

運行效果如下:

Bootstrap每天必學之導航

自適應導航(實現原理)

實現原理并不難,列表(<ul>)上設置寬度為“100%”,然后每個菜單項(<li>)設置了“display:table-cell”,讓列表項以模擬表格單元格的形式顯示:

/源碼請查閱bootstrap.css文件第3585行~第3607行/

.nav-justified { width: 100%;}.nav-justified > li { float: none;}.nav-justified > li > a { margin-bottom: 5px; text-align: center;}.nav-justified > .dropdown .dropdown-menu { top: auto; left: auto;}@media (min-width: 768px) { .nav-justified > li { display: table-cell; width: 1%; } .nav-justified > li > a { margin-bottom: 0; }}

這里有一個媒體查詢條件:“@media (min-width:768px){…}”表示自適應導航僅在瀏覽器視窗寬度大于768px才能按上圖風格顯示。當你的瀏覽器視窗寬度小于768px的時候,將會按下圖的風格展示:

Bootstrap每天必學之導航

從上圖效果可以得知,“nav-tabs”和“nav-justified”配合在一起使用,也就是自適應選項卡導航,瀏覽器視窗寬度小于768px時,在樣式上做了另外的處理。

/源碼請查閱bootstrap.css文件第3519行~第3562行/

.nav-tabs.nav-justified { width: 100%; border-bottom: 0;}.nav-tabs.nav-justified > li { float: none;}.nav-tabs.nav-justified > li > a { margin-bottom: 5px; text-align: center;}.nav-tabs.nav-justified > .dropdown .dropdown-menu { top: auto; left: auto;}@media (min-width: 768px) { .nav-tabs.nav-justified > li { display: table-cell; width: 1%; }.nav-tabs.nav-justified > li > a { margin-bottom: 0; }}.nav-tabs.nav-justified > li > a { margin-right: 0; border-radius: 4px;}.nav-tabs.nav-justified > .active > a,.nav-tabs.nav-justified > .active >a:hover,.nav-tabs.nav-justified > .active >a:focus { border: 1px solid #ddd;}@media (min-width: 768px) { .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; }.nav-tabs.nav-justified > .active > a,.nav-tabs.nav-justified > .active >a:hover,.nav-tabs.nav-justified > .active >a:focus { border-bottom-color: #fff; }}

5、導航加下拉菜單(二級導航)

前面介紹的都是使用Bootstrap框架制作一級導航,但很多時候,在Web頁面中是離不開二級導航的效果。那么在Bootstrap框架中制作二級導航就更容易了。只需要將li當作父容器,使用類名“dropdown”,同時在li中嵌套另一個列表ul,使用前面介紹下拉菜單的方法就可以:

<ul class="nav nav-pills">   <li class="active"><a href="##">首頁</a></li>   <li class="dropdown">    <a href="##" class="dropdown-toggle" data-toggle="dropdown">教程<span class="caret"></span></a>    <ul class="dropdown-menu">      <li><a href="##">CSS3</a></li>      …    </ul>   </li>   <li><a href="##">關于我們</a></li></ul>

運行效果如下:

Bootstrap每天必學之導航

通過瀏覽器調試工具,不難發現,點擊有二級導航的菜單項,會自動添加“open”類名,再次點擊就會刪除添加的“open”類名:

Bootstrap每天必學之導航

簡單點來說,就是依靠這個類名來控制二級導航顯示與否,并且設置了背景色和邊框:

/源碼查看bootstrap.css文件第3479行~3484行/

.nav .open > a,.nav .open >a:hover,.nav .open >a:focus {background-color: #eee;border-color: #428bca;}

大家回憶一下,在制作下拉菜單時,可以用分隔線,那么在二級導航中是否可以呢?我們一起來看看:

不用再說太多,只需要添加“<li class=”nav-divider”></li>”這樣的一個空標簽就可以了。

運行效果如下:

Bootstrap每天必學之導航

/源碼請查看bootstrap.css文件第3485行~第3490行/

.nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5;}

6、面包屑式導航

面包屑(Breadcrumb)一般用于導航,主要是起的作用是告訴用戶現在所處頁面的位置(當前位置)。在Bootstrap框架中面包屑也是一個獨立模塊組件:

  • LESS版本:對應源文件breadcrumbs.less
  • Sass版本:對應源文件_breadcrumbs.scss
  • 編譯出來的版本:源碼對應bootstrap.css文件第4112行~第4129行

使用方法:

使用方式就很簡單,為ol加入breadcrumb類:

<ol class="breadcrumb"> <li><a href="#">首頁</a></li> <li><a href="#">我的書</a></li> <li class="active">《圖解CSS3》</li></ol>

想想看,當前菜單項是不需要鏈接的,所以也就不用a標簽了。

Bootstrap每天必學之導航

實現原理:

看來不錯吧!作者是使用li+li:before實現li與li之間的分隔符,所以這種方案在IE低版本就慘了(不支持)。

/源碼查看bootstrap.css文件第4112行~第4129行/

.breadcrumb {padding: 8px 15px;margin-bottom: 20px;list-style: none;background-color: #f5f5f5;border-radius: 4px;}.breadcrumb> li {display: inline-block;}

 以上就是本文的全部內容,希望對大家的學習有所幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91亚洲永久免费精品| 亚洲自拍小视频免费观看| 亚洲午夜未满十八勿入免费观看全集| 成年无码av片在线| 国产精品成久久久久三级| 色偷偷噜噜噜亚洲男人| 国产精品美女久久久久av超清| 最近2019年中文视频免费在线观看| 91精品视频在线免费观看| 国产成人亚洲综合91| 91精品免费看| 日韩亚洲精品电影| 日韩欧美高清在线视频| 亚洲欧美国产精品va在线观看| 精品中文字幕乱| 91国内揄拍国内精品对白| 日本精品久久电影| 欧美精品亚州精品| 日韩大片免费观看视频播放| 国产精品网站入口| 欧美极品xxxx| 亚洲欧洲在线播放| 国产精品免费视频久久久| 久久国产精品网站| 欧美小视频在线观看| 欧美一性一乱一交一视频| 欧美国产日韩二区| 久久久久久久久91| 91久久精品久久国产性色也91| 日韩中文av在线| 91亚洲精品视频| 精品国产一区二区三区久久久狼| 欧美激情在线播放| 黄色一区二区在线观看| 亚洲性线免费观看视频成熟| 国产精品免费电影| 97精品视频在线| 国产精品小说在线| 亚洲精品自产拍| 国产精品青草久久久久福利99| 欧美黑人xxxⅹ高潮交| 午夜精品一区二区三区在线播放| 国产在线观看精品一区二区三区| 日韩一区二区三区国产| 欧美丝袜第一区| 亚洲国产成人精品久久久国产成人一区| 国产精品美女主播在线观看纯欲| 久久伊人色综合| 日韩网站在线观看| 亚洲精品国精品久久99热| 国产精品一区二区在线| 精品国产欧美一区二区五十路| 正在播放欧美视频| 国产在线播放不卡| 亚洲免费视频网站| 欧美精品久久久久久久免费观看| 在线观看久久av| 久久成人精品视频| 精品久久久久久久久久久久| 欧美午夜美女看片| 亚洲国产高潮在线观看| 欧美日韩黄色大片| 国产精品91久久久| 亚洲一区www| 精品久久国产精品| 91精品久久久久久综合乱菊| 一区二区亚洲精品国产| 秋霞成人午夜鲁丝一区二区三区| 亚洲天堂一区二区三区| 欧美壮男野外gaytube| 亚洲男人av电影| 日韩在线观看免费| 日韩视频中文字幕| 日韩av电影国产| 96pao国产成视频永久免费| 精品国产福利在线| 欧美裸体男粗大视频在线观看| 日韩中文字幕国产精品| 911国产网站尤物在线观看| 国外成人在线播放| 国产一区二区三区四区福利| 国产美女精品免费电影| 福利一区视频在线观看| 国产精品自拍偷拍视频| 亚洲视频在线看| 欧美激情精品久久久久| 九九综合九九综合| 欧美中文在线观看国产| 国产福利精品在线| 亚洲欧美激情四射在线日| 91精品啪aⅴ在线观看国产| 国产精品88a∨| 色妞在线综合亚洲欧美| 国产精品都在这里| 欧美性猛交xxxx乱大交| 色偷偷偷亚洲综合网另类| 97久久精品人搡人人玩| 亚洲欧洲免费视频| 69av成年福利视频| 亚洲天堂av电影| 欧美日韩福利电影| 久久久av一区| 日韩有码片在线观看| 日韩av在线播放资源| 97视频在线观看播放| 538国产精品视频一区二区| 午夜免费日韩视频| 欧美中文在线视频| 欧美激情乱人伦一区| 成人在线视频福利| 黄色一区二区在线观看| 91精品久久久久久久久不口人| 国产欧美久久一区二区| 欧美理论电影在线观看| 亚洲国产私拍精品国模在线观看| 欧美一级淫片丝袜脚交| 8x海外华人永久免费日韩内陆视频| 国产精品高潮呻吟久久av野狼| 91国内在线视频| 亚洲第一av网| 国产精品国产三级国产专播精品人| 久久久精品在线| 高清一区二区三区日本久| 中文字幕久热精品在线视频| 日韩美女视频免费在线观看| 亚洲国产成人爱av在线播放| 伊人精品在线观看| 久久精品国产视频| 一区二区三区四区视频| 亚洲国产毛片完整版| 精品久久久久久亚洲国产300| 亚洲高清一二三区| 亚洲一区美女视频在线观看免费| 欧美精品电影免费在线观看| 国产精品第8页| 欧美精品少妇videofree| 91av在线精品| 91免费综合在线| 欧美中文字幕在线观看| 热草久综合在线| 国产精品入口夜色视频大尺度| 一区二区福利视频| 国产香蕉一区二区三区在线视频| 日韩在线观看免费高清完整版| 成人有码在线播放| 亚洲性视频网站| 国产精品1234| 美女黄色丝袜一区| 九色精品美女在线| 久久精品国产欧美激情| 欧美激情成人在线视频| 色在人av网站天堂精品| 亚洲人成毛片在线播放| 狠狠做深爱婷婷久久综合一区| 国产精品久久久久久久av电影| 日韩欧美综合在线视频| 欧美电影免费播放| 欧美日韩亚洲精品一区二区三区| 欧美激情一区二区三级高清视频| 亚洲免费精彩视频| 亚洲精品99999| 精品欧美aⅴ在线网站| 午夜精品久久久99热福利| 精品欧美激情精品一区|