Bootstrap每天必學(xué)之導(dǎo)航條
1、導(dǎo)航條
導(dǎo)航條(navbar)和上一節(jié)介紹的導(dǎo)航(nav),就相差一個(gè)字,多了一個(gè)“條”字。其實(shí)在Bootstrap框架中他們還是明顯的區(qū)別。在導(dǎo)航條(navbar)中有一個(gè)背景色(顯示更突出)、而且導(dǎo)航條可以是純鏈接(類似導(dǎo)航),也可以是表單,還有就是表單和導(dǎo)航一起結(jié)合等多種形式。在這一節(jié)中將一起探討B(tài)ootstrap框架中導(dǎo)航條的使用。
導(dǎo)航條和導(dǎo)航一樣,在Bootstrap框架中是一個(gè)獨(dú)立組件,所以你也可以根據(jù)自己的需求使用不同的版本:
LESS版本:對(duì)應(yīng)的源文件navbar.less
Sass版本:對(duì)應(yīng)的源文件_navbar.scss
編譯后的版本:查看bootstrap.css文件第3642行~第4111行(注意這個(gè)所說(shuō)的Bootstrap版本是3.1.1,其它版本位置是不一致的)。
2、基礎(chǔ)導(dǎo)航條
在Bootstrap框中,導(dǎo)航條和導(dǎo)航從外觀上差別不是太多,但在實(shí)際使用中導(dǎo)航條要比導(dǎo)航復(fù)雜得多。我們先來(lái)看導(dǎo)航條中最基礎(chǔ)的一個(gè)——基礎(chǔ)導(dǎo)航條。
1)、使用方法:
在制作一個(gè)基礎(chǔ)導(dǎo)航條時(shí),主要分以下幾步:
- 第一步:首先在制作導(dǎo)航的列表(<ul class=”nav”>)基礎(chǔ)上添加類名“navbar-nav”
- 第二步:在列表外部添加一個(gè)容器(div),并且使用類名“navbar”和“navbar-default”
<div class="navbar navbar-default" role="navigation"> <ul class="nav navbar-nav"> <li class="active"><a href="##">網(wǎng)站首頁(yè)</a></li> <li><a href="##">系列教程</a></li> <li><a href="##">名師介紹</a></li> <li><a href="##">成功案例</a></li> <li><a href="##">關(guān)于我們</a></li> </ul> </div>
".navbar”樣式的主要功能就是設(shè)置左右padding和圓角等效果,但他和顏色相關(guān)的樣式?jīng)]有進(jìn)行任何的設(shè)置。其主要源碼如下:
/源碼查看bootstrap.css文件第3642行~第3647行/
.navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; }
2)、原理分析:
而導(dǎo)航條的顏色都是通過(guò)“.navbar-default”來(lái)進(jìn)行控制:
/源碼查看bootstrap.css文件第3940行~第3943行/
.navbar-default { background-color: #f8f8f8; border-color: #e7e7e7; }
navbar-nav樣式是在導(dǎo)航.nav的基礎(chǔ)上重新調(diào)整了菜單項(xiàng)的浮動(dòng)與內(nèi)外邊距。同時(shí)也不包括顏色等樣式設(shè)置,源碼請(qǐng)查看bootstrap.css文件第3785行~第3830行,我們把代碼節(jié)選出來(lái)放入右側(cè)bootstrap.css中。
而顏色和其他樣式是通過(guò)配合父容器“navbar-default”來(lái)一起實(shí)現(xiàn):
/源碼請(qǐng)查看bootstrap.css文件第3955行~第3974行/
.navbar-default .navbar-nav> li > a { color: #777; } .navbar-default .navbar-nav> li >a:hover, .navbar-default .navbar-nav> li >a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav> .active > a, .navbar-default .navbar-nav> .active >a:hover, .navbar-default .navbar-nav> .active >a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav> .disabled > a, .navbar-default .navbar-nav> .disabled >a:hover, .navbar-default .navbar-nav> .disabled >a:focus { color: #ccc; background-color: transparent; }
3、為導(dǎo)航條添加標(biāo)題、二級(jí)菜單及狀態(tài)
1)、加入導(dǎo)航條標(biāo)題
在Web頁(yè)面制作中,常常在菜單前面都會(huì)有一個(gè)標(biāo)題(文字字號(hào)比其它文字稍大一些),其實(shí)在Bootstrap框架也為大家做了這方面考慮,其通過(guò)“navbar-header”和“navbar-brand”來(lái)實(shí)現(xiàn)。
<div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <a href="##" class="navbar-brand">慕課網(wǎng)</a> </div> <ul class="nav navbar-nav"> <li class="active"><a href="##">網(wǎng)站首頁(yè)</a></li> <li><a href="##">系列教程</a></li> <li><a href="##">名師介紹</a></li> <li><a href="##">成功案例</a></li> <li><a href="##">關(guān)于我們</a></li> </ul> </div>
2)、原理分析:
此功能主要起一個(gè)提醒功能,當(dāng)然改良一下可以當(dāng)作是logo(此處不做過(guò)多闡述)。其樣式主要是加大了字體設(shè)置,并且設(shè)置了最大寬度:
/源碼查看bootstrap.css文件第3739行~第3755行/
.navbar-brand { float: left; height: 50px; padding: 15px 15px; font-size: 18px; line-height: 20px; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } @media (min-width: 768px) { .navbar> .container .navbar-brand, .navbar> .container-fluid .navbar-brand { margin-left: -15px; } }
同樣在默認(rèn)導(dǎo)航條(navbar-default)下,對(duì)navbar-brand也做了顏色處理:
/源碼請(qǐng)查看bootstrap.css文件第3947行~3951行/
.navbar-default .navbar-brand { color: #777; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #5e5e5e; background-color: transparent; }
3)、導(dǎo)航條狀態(tài)、二級(jí)菜單
同樣的,在基礎(chǔ)導(dǎo)航條中對(duì)菜單提供了當(dāng)前狀態(tài),禁用狀態(tài),懸浮狀態(tài)等效果,而且也可以帶有二級(jí)菜單的導(dǎo)航條。
<div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <a href="##" class="navbar-brand">慕課網(wǎng)</a> </div> <ul class="nav navbar-nav"> <li class="active"><a href="##">網(wǎng)站首頁(yè)</a></li> <li class="dropdown"> <a href="##" data-toggle="dropdown" class="dropdown-toggle">系列教程<span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="##">CSS3</a></li> <li><a href="##">JavaScript</a></li> <li class="disabled"><a href="##">PHP</a></li> </ul> </li> <li><a href="##">名師介紹</a></li> <li><a href="##">成功案例</a></li> <li><a href="##">關(guān)于我們</a></li> </ul> </div>
效果圖如下:
4、帶表單的導(dǎo)航條
有的導(dǎo)航條中會(huì)帶有搜索表單,比如新浪微博的導(dǎo)航條:
在Bootstrap框架中提供了一個(gè)“navbar-form”,使用方法很簡(jiǎn)單,在navbar容器中放置一個(gè)帶有navbar-form類名的表單。
<div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <a href="##" class="navbar-brand">慕課網(wǎng)</a> </div> <ul class="nav navbar-nav"> <li class="active"><a href="##">網(wǎng)站首頁(yè)</a></li> <li class="dropdown"> <a href="##" data-toggle="dropdown" class="dropdown-toggle">系列教程<span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="##">CSS3</a></li> <li><a href="##">JavaScript</a></li> <li class="disabled"><a href="##">PHP</a></li> </ul> </li> <li><a href="##">名師介紹</a></li> <li><a href="##">成功案例</a></li> <li><a href="##">關(guān)于我們</a></li> </ul> <form action="##" class="navbar-form navbar-left" rol="search"> <div class="form-group"> <input type="text" class="form-control" placeholder="請(qǐng)輸入關(guān)鍵詞" /> </div> <button type="submit" class="btn btn-default">搜索</button> </form> </div>
實(shí)現(xiàn)導(dǎo)航條+表單的樣式代碼源碼請(qǐng)查看bootstrap.css文件第3839行~第3904行.
在上面的示例中,大家看到了“navbar-left”讓表單左浮動(dòng),更好實(shí)現(xiàn)對(duì)齊。在Bootstrap框架中,還提供了“navbar-right”樣式,讓元素在導(dǎo)航條靠右對(duì)齊。
/源碼請(qǐng)查看bootstrap.css文件第3831行~第3838行/
@media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; } }
注意:這里有一個(gè)條件,只有當(dāng)瀏覽器視窗寬度大于768px生效。
5、導(dǎo)航條中的按鈕、文本和鏈接
Bootstrap框架的導(dǎo)航條中除了使用navbar-brand中的a元素和navbar-nav的ul和navbar-form之外,還可以使用其他元素。框架提供了三種其他樣式:
- 1、導(dǎo)航條中的按鈕navbar-btn
- 2、導(dǎo)航條中的文本navbar-text
- 3、導(dǎo)航條中的普通鏈接navbar-link
但這三種樣式在框架中使用時(shí)受到一定的限制,需要和navbar-brand、navbar-nav配合起來(lái)使用。而且對(duì)數(shù)量也有一定的限制,一般情況在使用一到兩個(gè)不會(huì)有問(wèn)題,超過(guò)兩個(gè)就會(huì)有問(wèn)題。
先來(lái)看看這三種樣式對(duì)應(yīng)的源碼:
/源碼請(qǐng)查看bootstrap.css文件第3914行~第3939行/
.navbar-btn { margin-top: 8px; margin-bottom: 8px; } .navbar-btn.btn-sm { margin-top: 10px; margin-bottom: 10px; } .navbar-btn.btn-xs { margin-top: 14px; margin-bottom: 14px; } .navbar-text { margin-top: 15px; margin-bottom: 15px; } @media (min-width: 768px) { .navbar-text { float: left; margin-right: 15px; margin-left: 15px; } .navbar-text.navbar-right:last-child { margin-right: 0; } } /bootstrap.css文件第3952行~第3954行/ .navbar-default .navbar-text { color: #777; } /bootstrap.css文件第4035行~第4037行/ .navbar-inverse .navbar-text { color: #999; } /boostrap.css文件第4017行~第4022行/ .navbar-default .navbar-link { color: #777; } .navbar-default .navbar-link:hover { color: #333; } /bootstrap.css文件第4106行~第4111行/ .navbar-inverse .navbar-link { color: #999; } .navbar-inverse .navbar-link:hover { color: #fff; }
navbar-btn和navbar-link在上一小節(jié)已經(jīng)講過(guò),現(xiàn)在我們來(lái)看一下navbar-text的一個(gè)簡(jiǎn)單應(yīng)用
<div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <a href="##" class="navbar-brand">慕課網(wǎng)</a> </div> <ul class="nav navbar-nav"> <li><a href="##" class="navbar-text">Navbar Text</a></li> <li><a href="##" class="navbar-text">Navbar Text</a></li> <li><a href="##" class="navbar-text">Navbar Text</a></li> </ul> </div>
在結(jié)果窗口中查看效果,可以看出明顯的存在問(wèn)題.
通過(guò)瀏覽器調(diào)試工具,可以看到a標(biāo)簽有margin-top和margin-bottom的值為15px,欲將其對(duì)齊,我們將上面的結(jié)構(gòu)做一定的調(diào)整. 將<ul>標(biāo)簽換成<div>就OK了。
6、固定導(dǎo)航條
很多情況之一,設(shè)計(jì)師希望導(dǎo)航條固定在瀏覽器頂部或底部,這種固定式導(dǎo)航條的應(yīng)用在移動(dòng)端開發(fā)中更為常見。Bootstrap框架提供了兩種固定導(dǎo)航條的方式:
☑ .navbar-fixed-top:導(dǎo)航條固定在瀏覽器窗口頂部
☑ .navbar-fixed-bottom:導(dǎo)航條固定在瀏覽器窗口底部
使用方法很簡(jiǎn)單,只需要在制作導(dǎo)航條最外部容器navbar上追加對(duì)應(yīng)的類名即可:
<div class="navbar navbar-default navbar-fixed-top" role="navigation"> … </div> <div class="content">我是內(nèi)容</div> <div class="navbar navbar-default navbar-fixed-bottom" role="navigation"> … </div>
1)、實(shí)現(xiàn)原理:
實(shí)現(xiàn)原理很簡(jiǎn)單,就是在navbar-fixed-top和navbar-fixed-bottom使用了position:fixed屬性,并且設(shè)置navbar-fixed-top的top值為0,而navbar-fixed-bottom的bottom值為0。具體的源碼如下:
/源碼請(qǐng)查看bootstrap.css文件第3717 行~第3738行/
.navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { top: 0; border-width: 0 0 1px; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; border-width: 1px 0 0; }
2)、存在bug及解決方法:
從運(yùn)行效果中大家不難發(fā)現(xiàn),頁(yè)面主內(nèi)容頂部和底部都被固定導(dǎo)航條給遮住了。為了避免固定導(dǎo)航條遮蓋內(nèi)容,我們需要在body上做一些處理:
body { padding-top: 70px;/*有頂部固定導(dǎo)航條時(shí)設(shè)置*/ padding-bottom: 70px;/*有底部固定導(dǎo)航條時(shí)設(shè)置*/ }
因?yàn)楣潭▽?dǎo)航條默認(rèn)高度是50px,我們一般設(shè)置padding-top和padding-bottom的值為70px,當(dāng)然有的時(shí)候還是需要具體情況具體分析。
3)、第二種解決這個(gè)bug方法:
其實(shí)除了這種解決方案之外,我們還有其他的解決方法,把固定導(dǎo)航條都放在頁(yè)面內(nèi)容前面:
<div class="navbar navbar-default navbar-fixed-top" role="navigation"> … </div> <div class="navbar navbar-default navbar-fixed-bottom" role="navigation"> … </div> <div class="content">我是內(nèi)容</div>
在文件中添加下列樣式代碼:
.navbar-fixed-top ~ .content { padding-top: 70px; } .navbar-fixed-bottom ~ .content { padding-bottom: 70px; }
當(dāng)然,這種方法有的時(shí)候也是需要具體情況具體分析的。
7、響應(yīng)式導(dǎo)航條
如今瀏覽Web頁(yè)面的終端不在是一塵不變了,前面示例實(shí)現(xiàn)的導(dǎo)航條僅能適配于大屏幕的瀏覽器,但當(dāng)瀏覽器屏幕變小的時(shí)候,就不適合了。因此響應(yīng)式設(shè)計(jì)也就隨之而來(lái)。那么在一個(gè)響應(yīng)式的Web頁(yè)面中,對(duì)于響應(yīng)式的導(dǎo)航條也就非常的重要。例如Bootstrap框架官網(wǎng)的導(dǎo)航條:
(寬屏?xí)r效果)
(中屏?xí)r效果)
(窄屏?xí)r效果)
那么在這一節(jié)中,主要和大家探討如何使用Bootstrap框架實(shí)現(xiàn)響應(yīng)式導(dǎo)航條效果。
先上代碼:
<div class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <!-- .navbar-toggle樣式用于toggle收縮的內(nèi)容,即nav-collapse collapse樣式所在元素 --> <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".navbar-responsive-collapse"> <span class="sr-only">Toggle Navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <!-- 確保無(wú)論是寬屏還是窄屏,navbar-brand都顯示 --> <a href="##" class="navbar-brand">慕課網(wǎng)</a> </div> <!-- 屏幕寬度小于768px時(shí),div.navbar-responsive-collapse容器里的內(nèi)容都會(huì)隱藏,顯示icon-bar圖標(biāo),當(dāng)點(diǎn)擊icon-bar圖標(biāo)時(shí),再展開。屏幕大于768px時(shí),默認(rèn)顯示。 --> <div class="collapse navbar-collapse navbar-responsive-collapse"> <ul class="nav navbar-nav"> <li class="active"><a href="##">網(wǎng)站首頁(yè)</a></li> <li><a href="##">系列教程</a></li> <li><a href="##">名師介紹</a></li> <li><a href="##">成功案例</a></li> <li><a href="##">關(guān)于我們</a></li> </ul> </div> </div>
1)、
使用方法:
- 保證在窄屏?xí)r需要折疊的內(nèi)容必須包裹在帶一個(gè)div內(nèi),并且為這個(gè)div加入collapse、navbar-collapse兩個(gè)類名。最后為這個(gè)div添加一個(gè)class類名或者id名。
- 保證在窄屏?xí)r要顯示的圖標(biāo)樣式(固定寫法):
<button class="navbar-toggle" type="button" data-toggle="collapse"> <span class="sr-only">Toggle Navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button>
- 3、并為button添加data-target=“.類名/#id名”,究競(jìng)是類名還是id名呢?由需要折疊的div來(lái)決定。如:
(1)需要折疊的div代碼段(用id表示):
<div class="collapse navbar-collapse" id="example"> <ul class="nav navbar-nav"> … </ul> </div>
窄屏?xí)r顯示的圖標(biāo)代碼段:
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#example"> ... </button>
(2)也可以這么寫,需要折疊的div代碼段(用class表示):
<div class="collapse navbar-collapse example" > <ul class="nav navbar-nav"> … </ul> </div>
窄屏?xí)r要顯示的圖標(biāo):
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".example"> ... </button>
8、反色導(dǎo)航條
反色導(dǎo)航條其實(shí)是Bootstrap框架為大家提供的第二種風(fēng)格的導(dǎo)航條,與默認(rèn)的導(dǎo)航條相比,使用方法并無(wú)區(qū)別,只是將navbar-deafult類名換成navbar-inverse。其變化只是導(dǎo)航條的背景色和文本做了修改。如下:
<div class="navbar navbar-inverse" role="navigation"> <div class="nav bar-header"> <a href="##" class="navbar-brand">慕課網(wǎng)</a> </div> <ul class="nav navbar-nav"> <li class="active"><a href="">首頁(yè)</a></li> <li><a href="">教程</a></li> <li><a href="">關(guān)于我們</a></li> </ul> </div>
運(yùn)行效果如下:
對(duì)應(yīng)的源碼,請(qǐng)查看bootstrap.css文件第4023行~第4111行
9、分頁(yè)導(dǎo)航(帶頁(yè)碼的分頁(yè)導(dǎo)航)
分頁(yè)導(dǎo)航幾乎在哪個(gè)網(wǎng)站都可見。好的分頁(yè)導(dǎo)航能給用戶帶來(lái)更好的用戶體驗(yàn)。在Bootstrap框架中提供了兩種分頁(yè)導(dǎo)航:
☑ 帶頁(yè)碼的分頁(yè)導(dǎo)航
☑ 帶翻頁(yè)的分頁(yè)導(dǎo)航
1)、帶頁(yè)碼的分頁(yè)導(dǎo)航
帶頁(yè)碼的分頁(yè)導(dǎo)航,可能是最常見的一種分頁(yè)導(dǎo)航,特別是在列表頁(yè)內(nèi)容超多的時(shí)候,會(huì)給用戶提供分頁(yè)的導(dǎo)航方式。在Bootstrap框架為開發(fā)者提供不同的版本:
☑ LESS版本:對(duì)應(yīng)的源文件pagination.less
☑ Sass版本:對(duì)應(yīng)的源文件_pagination.scss
☑ 編譯后版本:對(duì)應(yīng)bootstrap.css文件第4130行~第4222行
使用方法:
平時(shí)很多人喜歡用div>a和div>span結(jié)構(gòu)來(lái)制作帶頁(yè)碼的分頁(yè)導(dǎo)航。不過(guò),在Bootstrap框架中使用的是ul>li>a這樣的結(jié)構(gòu),在ul標(biāo)簽上加入pagination方法:
<ul class="pagination"> <li><a href="#">«</a></li> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li><a href="#">»</a></li> </ul>
運(yùn)行效果:
2)、實(shí)現(xiàn)原理:
從效果中可以看出,當(dāng)前狀態(tài)頁(yè)碼會(huì)高亮顯示,而且不能點(diǎn)擊。而最后一頁(yè)是禁用狀態(tài),也不能點(diǎn)擊。實(shí)現(xiàn)樣式:
/bootstrap.css文件第4170行~第4192行/
.pagination> .active > a, .pagination> .active > span, .pagination> .active >a:hover, .pagination> .active >span:hover, .pagination> .active >a:focus, .pagination> .active >span:focus { z-index: 2; color: #fff; cursor: default; background-color: #428bca; border-color: #428bca; } .pagination> .disabled > span, .pagination> .disabled >span:hover, .pagination> .disabled >span:focus, .pagination> .disabled > a, .pagination> .disabled >a:hover, .pagination> .disabled >a:focus { color: #999; cursor: not-allowed; background-color: #fff; border-color: #ddd; }
注意:要禁用當(dāng)前狀態(tài)和禁用狀態(tài)不能點(diǎn)擊,我們還要依靠js來(lái)實(shí)現(xiàn),或者將這兩狀態(tài)下的a標(biāo)簽換成span標(biāo)簽。
3)、大小設(shè)置:
在Bootstrap框架中,也可以通過(guò)幾個(gè)不同的情況來(lái)設(shè)置其大小。類似于按鈕一樣:
- 通過(guò)“pagination-lg”讓分頁(yè)導(dǎo)航變大;
- 通過(guò)“pagination-sm”讓分頁(yè)導(dǎo)航變?。?/li>
<ul class="pagination pagination-lg"> … </ul> <ul class="pagination"> … </ul> <ul class="pagination pagination-sm"> … </ul>
4)、大小設(shè)置實(shí)現(xiàn)原理:
其實(shí)就是通增加相應(yīng)的padding大小、font-size大小和圓角大小,源碼查看bootstrap.css文件第4193行~第4222行.
10、分頁(yè)導(dǎo)航(翻頁(yè)分頁(yè)導(dǎo)航)
Bootstrap框架除了提供帶頁(yè)碼的分頁(yè)導(dǎo)航之外還提供了翻頁(yè)導(dǎo)航。這種分頁(yè)導(dǎo)航常常在一些簡(jiǎn)單的網(wǎng)站上看到,比如說(shuō)個(gè)人博客,雜志網(wǎng)站等。這種分頁(yè)導(dǎo)航是看不到具體的頁(yè)碼,只會(huì)提供一個(gè)“上一頁(yè)”和“下一頁(yè)”的按鈕。
Bootstrap框架將其獨(dú)立成一個(gè)單獨(dú)的部分:
☑ LESS版本:對(duì)應(yīng)源文件為pager.less
☑ Sass版本:對(duì)應(yīng)源文件為_pager.scss
☑ 編譯后版本:對(duì)應(yīng)bootstrap.css文件第4223行~第4260行
使用方法:
在實(shí)際使用中,翻頁(yè)分頁(yè)導(dǎo)航和帶頁(yè)碼的分頁(yè)導(dǎo)航類似,為ul標(biāo)簽加入pager類:
<ul class="pager"> <li><a href="#">«上一頁(yè)</a></li> <li><a href="#">下一頁(yè)»</a></li> </ul>
運(yùn)行效果:
«上一頁(yè)
下一頁(yè)»
1)、實(shí)現(xiàn)原理:
對(duì)應(yīng)樣式代碼:
/bootstrap.css文件第4223行~第4244行/
.pager { padding-left: 0; margin: 20px 0; text-align: center; list-style: none; } .pager li { display: inline; } .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #ddd; border-radius: 15px; } .pager li >a:hover, .pager li >a:focus { text-decoration: none; background-color: #eee; }
2)、對(duì)齊樣式設(shè)置:
默認(rèn)情況之下,翻頁(yè)分頁(yè)導(dǎo)航是居中顯示,但有的時(shí)候我們需要一個(gè)居左,一個(gè)居右。Bootstrap框架提供了兩個(gè)樣式:
☑ previous:讓“上一步”按鈕居左
☑ next:讓“下一步”按鈕居右
具體使用的時(shí)候,只需要在li標(biāo)簽上添加對(duì)應(yīng)類名即可:
<ul class="pager"> <li class="previous"><a href="#">«上一頁(yè)</a></li> <li class="next"><a href="#">下一頁(yè)»</a></li> </ul>
運(yùn)行效果:
«上一頁(yè)
下一頁(yè)»
3)、實(shí)現(xiàn)原理:
實(shí)現(xiàn)原理很簡(jiǎn)單,就是一個(gè)進(jìn)行了左浮動(dòng),一個(gè)進(jìn)行了右浮動(dòng):
/bootstrap.css文件第4245行~第4252行/
.pager .next > a, .pager .next > span { float: right; } .pager .previous > a, .pager .previous > span { float: left; }
4)、狀態(tài)樣式設(shè)置:
和帶頁(yè)碼分頁(yè)導(dǎo)航一樣,如果在li標(biāo)簽上添加了disabled類名的時(shí)候,分頁(yè)按鈕處于禁用狀態(tài),但同樣不能禁止其點(diǎn)擊功能。你可以通過(guò)js來(lái)處理,或?qū)標(biāo)簽換成span標(biāo)簽。
<ul class="pager"> <li class="disabled"><span>«上一頁(yè)</span></li> <li><a href="#">下一頁(yè)»</a></li> </ul>
運(yùn)行效果:
«上一頁(yè)
下一頁(yè)»
5)、狀態(tài)樣式實(shí)現(xiàn)原理:
/bootstrap.css文件第4253行~第4260行/
.pager .disabled > a, .pager .disabled >a:hover, .pager .disabled >a:focus, .pager .disabled > span { color: #999; cursor: not-allowed; background-color: #fff; }
本文系列教程整理到:Bootstrap基礎(chǔ)教程 專題中,歡迎點(diǎn)擊學(xué)習(xí)。
如果大家還想深入學(xué)習(xí),可以點(diǎn)擊這里進(jìn)行學(xué)習(xí),再為大家附兩個(gè)精彩的專題:Bootstrap學(xué)習(xí)教程 Bootstrap實(shí)戰(zhàn)教程
本文系列教程整理到:Bootstrap基礎(chǔ)教程 專題中,歡迎點(diǎn)擊學(xué)習(xí)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- 第一次接觸神奇的Bootstrap導(dǎo)航條
- BootStrap創(chuàng)建響應(yīng)式導(dǎo)航條實(shí)例代碼
- Bootstrap導(dǎo)航條可點(diǎn)擊和鼠標(biāo)懸停顯示下拉菜單的實(shí)現(xiàn)代碼
- JS組件Bootstrap導(dǎo)航條使用方法詳解
- 全面接觸神奇的Bootstrap導(dǎo)航條實(shí)戰(zhàn)篇
- Bootstrap每天必學(xué)之導(dǎo)航條(二)
- 一系列Bootstrap導(dǎo)航條使用方法分享
- BootStrap響應(yīng)式導(dǎo)航條實(shí)例介紹
- BootStrap制作導(dǎo)航條實(shí)例代碼
- 基于bootstrap實(shí)現(xiàn)收縮導(dǎo)航條
相關(guān)文章
three.js利用射線Raycaster進(jìn)行碰撞檢測(cè)
這篇文章主要為大家詳細(xì)介紹了three.js利用射線Raycaster進(jìn)行碰撞檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03JavaScript 異步方法隊(duì)列鏈實(shí)現(xiàn)代碼分析
在javascript中,方法的鏈?zhǔn)秸{(diào)用很流行,使用jQuery的朋友對(duì)此一定深有體會(huì)。2010-06-06HTTP?HEAD請(qǐng)求的使用場(chǎng)合實(shí)例詳解
這篇文章主要為大家介紹了HTTP?HEAD請(qǐng)求的使用場(chǎng)合實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12前端JavaScript實(shí)現(xiàn)本地模糊搜索功能的方法實(shí)例
對(duì)于模糊查詢,一般都是傳關(guān)鍵字給后端,由后端來(lái)做。但是有時(shí)候一些輕量級(jí)的列表前端來(lái)做可以減少ajax請(qǐng)求,在一定程度上提高用戶體驗(yàn),這篇文章主要給大家介紹了關(guān)于前端JavaScript如何實(shí)現(xiàn)本地模糊搜索功能的相關(guān)資料,需要的朋友可以參考下2021-07-07JS解決iframe之間通信和自適應(yīng)高度的問(wèn)題
關(guān)于iframe之間的通信問(wèn)題與自適應(yīng)高度問(wèn)題網(wǎng)上有很多,那么這篇文章小編也和大家一起來(lái)談?wù)刬frame之間通信問(wèn)題及iframe自適應(yīng)高度問(wèn)題,有需要的可以參考借鑒。2016-08-08JavaScript變量聲明的var、let、const詳解
JavaScript中的變量是松散類型的,可以保存任何類型數(shù)據(jù),變量只不過(guò)是一個(gè)名稱,下面這篇文章主要給大家介紹了關(guān)于JavaScript變量聲明的var、let、const的相關(guān)資料,需要的朋友可以參考下2022-07-07JS應(yīng)用正則表達(dá)式轉(zhuǎn)換大小寫示例
這篇文章主要介紹了JS應(yīng)用正則表達(dá)式轉(zhuǎn)換大小寫,以首字母大寫,其它字母小寫為例,喜歡的朋友可以參考下2014-09-09