這篇文章給大家分享的是有關(guān)Bootstrap中導(dǎo)航組件有什么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、驛城網(wǎng)絡(luò)推廣、成都微信小程序、驛城網(wǎng)絡(luò)營銷、驛城企業(yè)策劃、驛城品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供驛城建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
在bootstrap框架中將導(dǎo)航獨立出來成為一個導(dǎo)航組件,根據(jù)不同的版本,可以找到相應(yīng)的源碼:
LESS: navs.less
SASS: _navs.scss
標簽形導(dǎo)航,也稱選項卡導(dǎo)航
標簽形導(dǎo)航是通過.nav-tabs樣式來實現(xiàn)的,在制作標簽形導(dǎo)航時需要在原導(dǎo)航類名為.nav的容器上追加類名.nav-tabs
原理:
將菜單項li按塊顯示,并讓它們排列在同一水平上,然后定義非高亮菜單的樣式和鼠標懸浮效果
.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; }
一般情況下,選項卡都會有個當前選中項,只需要在其(li)標簽上添加類名.active即可
.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; }
除了當前選項外,有的選項卡還帶有禁用狀態(tài),實現(xiàn)這樣的效果,只需在標簽項上添加類名disabled
.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; }
如果要實現(xiàn)點擊菜單項就可以切換內(nèi)容的效果,就需要配合js插件
膠囊形(pills)導(dǎo)航
當前高亮顯示,并帶圓角效果,其實現(xiàn)方法和選項卡導(dǎo)航類似,同樣的結(jié)構(gòu),只需將類名.nav-tabs換成類名.nav-pills
.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; }
垂直堆疊的導(dǎo)航
除了水平導(dǎo)航,還有垂直導(dǎo)航,制作垂直堆疊的導(dǎo)航只需在.nav-pills的基礎(chǔ)上追加類名.nav-stacked
與膠囊形導(dǎo)航相比,主要是讓導(dǎo)航項不浮動,讓其垂直排列,然后給相鄰導(dǎo)航項留有一定的間距
.nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; }
垂直堆疊導(dǎo)航像下拉菜單組與組間有一分割線一樣,導(dǎo)航項之間也有分割線這樣的效果,只需在導(dǎo)航項之間添加
.nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; }
自適應(yīng)導(dǎo)航
自適應(yīng)導(dǎo)航指的是導(dǎo)航占據(jù)容器全部寬度,而且菜單項可以像表格的單元格一樣自適應(yīng)寬度,自適應(yīng)導(dǎo)航和之前提到的.btn-group-justified制作的自適應(yīng)按鈕組件一樣,不過在制作自適應(yīng)導(dǎo)航時類名.nav-justified需和.nav-tabs或.nav-pills配合一起使用
原理:
列表ul上設(shè)置寬度為100%,然后每個菜單項li設(shè)置了display:table-cell,讓列表模擬表格單元格的形式顯示;
.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){……}表示自適應(yīng)導(dǎo)航僅在瀏覽器視窗寬度大于768px才能按上面的風(fēng)格顯示,但瀏覽器視窗寬度小于768px時,會按下圖的風(fēng)格顯示
.nav-tabs和.nav-justified配合在一起使用,也就是自適應(yīng)選項卡導(dǎo)航,瀏覽器視窗寬度小于768px時,在樣式上做了另外的處理
.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; } }
導(dǎo)航加下拉菜單(二級導(dǎo)航)
制做二級導(dǎo)航只需將li當做父容器,使用類名.dropdown,同時在li中嵌套另一個ul列表
面包屑式導(dǎo)航
面包屑一般用于導(dǎo)航,主要的作用是告訴用戶現(xiàn)在所處頁面的位置,在bootstrap框架中面包屑也是一個獨立的模塊組件。
LESS: breadcrumbs.less
SASS:_breadcrumbs.scss
.breadcrumb { padding: 8px 15px; margin-bottom: 20px; list-style: none; background-color: #f5f5f5; border-radius: 4px; } .breadcrumb> li { display: inline-block; } .breadcrumb> li + li:before { padding: 0 5px; color: #ccc; content: "/\00a0"; } .breadcrumb> .active { color: #999; }
上面使用li+li:before實現(xiàn)li與li之間的分隔符,這種方案在低版本ie不支持
感謝各位的閱讀!關(guān)于“Bootstrap中導(dǎo)航組件有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!