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

首頁(yè) > 開(kāi)發(fā) > JS > 正文

Bootstrap源碼解讀導(dǎo)航條(7)

2024-05-06 16:34:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

源碼解讀Bootstrap導(dǎo)航條

基礎(chǔ)導(dǎo)航條

要制作一個(gè)基礎(chǔ)導(dǎo)航條,要在制作導(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="##">首頁(yè)</a></li>    <li><a href="##">網(wǎng)站內(nèi)容</a></li>    <li><a href="##">關(guān)于我們</a></li>  </ul></div>

“.navbar”樣式的主要功能就是設(shè)置左右padding和圓角等效果,實(shí)現(xiàn)源碼如下:

.navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent;}

導(dǎo)航條的顏色都是通過(guò)“.navbar-default”來(lái)進(jìn)行控制,實(shí)現(xiàn)源碼如下:

.navbar-default { background-color: #f8f8f8; border-color: #e7e7e7;}

“.navbar-nav”樣式是在導(dǎo)航“.nav”的基礎(chǔ)上重新調(diào)整了菜單項(xiàng)的浮動(dòng)與內(nèi)外邊距。而顏色和其他樣式是通過(guò)配合父容器“navbar-default”來(lái)一起實(shí)現(xiàn)。實(shí)現(xiàn)源碼如下:

.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;}

導(dǎo)航條標(biāo)題

通過(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">標(biāo)題</a>   </div>  <ul class="nav navbar-nav">    ...  </ul></div>

主要是加大了字體設(shè)置,并且設(shè)置了最大寬度,實(shí)現(xiàn)源碼如下:

.navbar-brand { float: left; height: 50px; padding: 15px 15px; font-size: 18px; line-height: 20px;}.navbar-brand:hover,.navbar-brand:focus { text-decoration: none;}.navbar-brand > img { display: block;}@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也做了顏色處理,實(shí)現(xiàn)源碼如下:

.navbar-default .navbar-brand {color: #777;}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus {color: #5e5e5e;background-color: transparent;}

帶表單的導(dǎo)航條

在navbar容器中放置一個(gè)帶有“navbar-form”類名的表單,例如:

<div class="navbar navbar-default" role="navigation">  <ul class="nav navbar-nav">    ...  </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)源碼如下:

.navbar-form { padding: 10px 15px; margin-top: 8px; margin-right: -15px; margin-bottom: 8px; margin-left: -15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);     box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);}@media (min-width: 768px) { .navbar-form .form-group {  display: inline-block;  margin-bottom: 0;  vertical-align: middle; } .navbar-form .form-control {  display: inline-block;  width: auto;  vertical-align: middle; } .navbar-form .form-control-static {  display: inline-block; } .navbar-form .input-group {  display: inline-table;  vertical-align: middle; } .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control {  width: auto; } .navbar-form .input-group > .form-control {  width: 100%; } .navbar-form .control-label {  margin-bottom: 0;  vertical-align: middle; } .navbar-form .radio, .navbar-form .checkbox {  display: inline-block;  margin-top: 0;  margin-bottom: 0;  vertical-align: middle; } .navbar-form .radio label, .navbar-form .checkbox label {  padding-left: 0; } .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] {  position: relative;  margin-left: 0; } .navbar-form .has-feedback .form-control-feedback {  top: 0; }}@media (max-width: 767px) { .navbar-form .form-group {  margin-bottom: 5px; } .navbar-form .form-group:last-child {  margin-bottom: 0; }}@media (min-width: 768px) { .navbar-form {  width: auto;  padding-top: 0;  padding-bottom: 0;  margin-right: 0;  margin-left: 0;  border: 0;  -webkit-box-shadow: none;      box-shadow: none; }}

“navbar-left”可以讓導(dǎo)航條里的表單左浮動(dòng),“navbar-right”為右浮動(dòng)。實(shí)現(xiàn)源碼如下:

@media (min-width: 768px) { .navbar-left { float: left !important;}.navbar-right { float: right !important; }}

固定導(dǎo)航條

要將導(dǎo)航條固定在瀏覽器頂部或底部,只需要在制作導(dǎo)航條最外部容器navbar上追加對(duì)應(yīng)的類名即可:
.navbar-fixed-top:導(dǎo)航條固定在瀏覽器窗口頂部
.navbar-fixed-bottom:導(dǎo)航條固定在瀏覽器窗口底部
例如:<div class="navbar navbar-default navbar-fixed-top" role="navigation">...</div>
實(shí)現(xiàn)原理就是在navbar-fixed-top和navbar-fixed-bottom使用了position:fixed屬性,并且設(shè)置navbar-fixed-top的top值為0,而navbar-fixed-bottom的bottom值為0。實(shí)現(xiàn)源碼如下:

.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;}

不過(guò)我們可以發(fā)現(xiàn),頁(yè)面主內(nèi)容頂部和底部都被固定導(dǎo)航條給遮住了。我們可以在body上加上樣式:padding-top: 70px;或padding-bottom: 70px;來(lái)避免這種情況。

響應(yīng)式導(dǎo)航條

響應(yīng)式導(dǎo)航條比較復(fù)雜,寬屏是水平平鋪顯示,窄屏?xí)r收縮垂直顯示,使用方法如下:
1. 把在窄屏?xí)r需要折疊的內(nèi)容包裹在帶一個(gè)div內(nèi),并且為這個(gè)div追加“collapse”、“navbar-collapse”兩個(gè)類名。最后為這個(gè)div添加一個(gè)class類名或者id名。
2. 定制在窄屏?xí)r要顯示的圖標(biāo)樣式。
3. 為button添加data-target=”.類名”或data-target=”#id名”,是類名還是id名由需要折疊的div來(lái)決定。
完整示例如下:

<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">Bootstrap中文網(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í),再展開(kāi)。屏幕大于768px時(shí),默認(rèn)顯示。 -->  <div class="collapse navbar-collapse navbar-responsive-collapse">    <ul class="nav navbar-nav">      <li class="active"><a href="##">Bootstrap2</a></li>      <li><a href="##">Bootstrap3</a></li>      <li><a href="##">Bootstrap4</a></li>      <li><a href="##">網(wǎng)站實(shí)例</a></li>    </ul>  </div></div>

反色導(dǎo)航條

將navbar-deafult類名換成navbar-inverse即可。只是導(dǎo)航條的背景色和文本做了修改。

帶頁(yè)碼的分頁(yè)導(dǎo)航

在ul標(biāo)簽上加入pagination方法即可。例如:

<ul class="pagination">  <li><a href="#">«第一頁(yè)</a></li>  <li><a href="#">2</a></li>  <li><a href="#">3</a></li>  <li class="active"><a href="#">4</a></li>  <li><a href="#">5</a></li>  <li class="disabled"><a href="#">最后一頁(yè)»</a></li></ul>

實(shí)現(xiàn)源碼如下:

.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;}

在ul上追加“pagination-lg”可以讓分頁(yè)導(dǎo)航變大,“pagination-sm”可以讓分頁(yè)導(dǎo)航變小。實(shí)現(xiàn)源碼如下:

.pagination-lg> li > a,.pagination-lg> li > span {padding: 10px 16px;font-size: 18px;}.pagination-lg>li:first-child> a,.pagination-lg>li:first-child> span {border-top-left-radius: 6px;border-bottom-left-radius: 6px;}.pagination-lg>li:last-child> a,.pagination-lg>li:last-child> span {border-top-right-radius: 6px;border-bottom-right-radius: 6px;}.pagination-sm> li > a,.pagination-sm> li > span {padding: 5px 10px;font-size: 12px;}.pagination-sm>li:first-child> a,.pagination-sm>li:first-child> span {border-top-left-radius: 3px;border-bottom-left-radius: 3px;}.pagination-sm>li:last-child> a,.pagination-sm>li:last-child> span {border-top-right-radius: 3px;border-bottom-right-radius: 3px;}

翻頁(yè)分頁(yè)導(dǎo)航

為ul標(biāo)簽加入pager類即可。例如:

<ul class="pager">  <li><a href="#">«上一頁(yè)</a></li>  <li><a href="#">下一頁(yè)»</a></li></ul>

實(shí)現(xiàn)源碼如下:

.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;}

導(dǎo)航默認(rèn)居中,如果要一個(gè)居左一個(gè)居右,可以在li分別上追加previous和next類名。實(shí)現(xiàn)源碼如下:

.pager .next > a,.pager .next > span { float: right;}.pager .previous > a,.pager .previous > span { float: left;}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 昌黎县| 济阳县| 佛冈县| 甘洛县| 武宁县| 湄潭县| 武隆县| 湾仔区| 密云县| 广州市| 习水县| 淮滨县| 灌南县| 丰宁| 宣汉县| 仪征市| 旬阳县| 麟游县| 郧西县| 安康市| 奉贤区| 元谋县| 威宁| 福建省| 尚义县| 平武县| 平陆县| 平度市| 马鞍山市| 宿松县| 义乌市| 邵东县| 东阿县| 本溪市| 桂东县| 靖边县| 沽源县| 宜阳县| 论坛| 丰县| 阿尔山市|