麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > JavaScript > 正文

Bootstrap每天必學之導航

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

1、導航(基礎樣式)

導航對于一位前端人員來說并不陌生??梢哉f導航是一個網站重要的元素組件之一,可以便于用戶查找網站所提供的各項功能服務。導航的制作方法也是千奇百怪,五花八門。在這一節中將向大家介紹如何使用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电影 | 一级外国毛片 | 午夜视频啊啊啊 | 色淫网站免费视频 | 黄色网址免费入口 | 色偷偷一区 | 色淫视频 | 涩涩屋av | 美女黄污视频 | 免费a视频在线观看 | v片在线看 | 成人精品视频在线 | 国产精品久久久久久影院8一贰佰 | 国产在线久 | 精品一区二区三区中文字幕老牛 | 久草手机视频在线观看 | 国产免费一区视频 | 国产精品一区二区手机在线观看 | 久久久一区二区三区精品 | 狠狠操天天射 | japan护士性xxxⅹhd| 91麻豆精品国产91久久久无需广告 | 福利免费在线 | 久久久久久久高清 | 男人的天堂色偷偷 | 午夜精品老牛av一区二区三区 | 欧美一级黄视频 | 一区二区三区小视频 | 成人免费福利视频 | 国产二区三区在线播放 | 狠狠久久伊人中文字幕 | 久久网综合 | 性欧美大战久久久久久久免费观看 | 黄色一级片免费在线观看 | 久久精品视频日本 | www.777含羞草| 欧美激情综合在线 | 欧美亚洲一区二区三区四区 | 成人国产精品久久 | www.9191.com| 亚洲精品在线观看网站 |