Bootstrap框架的三大核心之二:組件。 組件也是最核心的地方,由於絕大部分的網頁都必須利用組件才能構建出絢麗的頁面。javascript
組件包括:Icon圖標(Glyphicon)、 下拉菜單(Dropdown)、按鈕組(Button group)、按鈕下拉菜單(Button dropdown)、輸入框組(Input group)、導航 (Nav)、導航條(Navbar)、麪包屑導航(Breadcrumb)、分 頁導航(Pagination)、標籤(Label)、徽章(Badge)、大屏幕 展播(Jumbotron)、頁面標題(Pageheader)、縮略圖 (Thumbnail)、警告框(Alert)、進度條(Progress bar)、媒 體對象(Media object)、列表組(Listgroup)、面板(Panel) 和窪地(Well),總計20種。css
本節目錄html
小圖標web
小圖標(icon)是一個優秀網站不可缺乏的一組元素,小圖標的點綴可使網站瞬間提高一個檔次。bs提供了 200個小圖標。bootstrap
使用的時候必須同時使用兩個樣式,即.glyphicon和以.glyphicon-*開頭的樣式。api
新版icon就是利用@font-face特性,並結合必定的字體, 來製做Web頁面中的icon圖標。瀏覽器
優勢框架
這種形式不只可讓字體無損失放大,還能夠簡單地經過color: #ff0的形式設置圖標的顏色。ide
2種使用方式
<span class="glyphicon glyphicon-glass text-danger" style="font-size: 50px;"></span> <i class="glyphicon glyphicon-glass text-success"></i>
3種場景使用場景
button、li、input-group
擴展
圖標是利用字體和content屬性來實現的,因此下面這2個是等效的
<span class="glyphicon glyphicon-glass"></span> <span class="glyphicon"></span>
下拉菜單
使用
.dropdown樣式是大容器,.dropdown-menu是菜單li元素的容器,而.divider樣式在li元素上的顯示效果是分隔符。
因爲menu樣式中設置display:none,經過設置open樣式,能夠打開菜單。
菜單標題,經過設置.dropdown-header樣式能夠設置標題。
支持active和disabled
多級菜單
在bs3.x版本默認是沒有多級菜單的,在bs2.x中有,若是要使用,先添加擴展樣式
.dropdown-submenu { position: relative; /* 相對定位 */ } .dropdown-submenu > .dropdown-menu { top: 0; left: 100%; /* 右側開始對齊 */ margin-top: -6px; margin-left: -1px; -webkit-border-radius: 0 6px 6px 6px; -moz-border-radius: 0 6px 6px 6px; border-radius: 0 6px 6px 6px; } .dropdown-submenu:hover > .dropdown-menu { display: block; } .dropup .dropdown-submenu > .dropdown-menu { top: auto; bottom: 0; /* 向上方向 */ margin-top: 0; margin-bottom: -2px; -webkit-border-radius: 5px 5px 5px 0; -moz-border-radius: 5px 5px 5px 0; border-radius: 5px 5px 5px 0; } .dropdown-submenu > a:after { display: block; float: right; width: 0; height: 0; margin-top: 5px; margin-right: -10px; border-color: transparent; border-left-color: #cccccc; /* 三角符號設置*/ border-style: solid; border-width: 5px 0 5px 5px; content: " "; } .dropdown-submenu:hover > a:after { border-left-color: #cccccc; /* 鼠標移動時的三角符號設置*/ } .dropdown-submenu.pull-left { float: none; /* 取消子菜單的向右浮動 */ } .dropdown-submenu.pull-left > .dropdown-menu { left: -100%; /* 向右浮動的時候,子菜單應該從最左側開始對齊計算 */ margin-left: 10px; -webkit-border-radius: 6px 0 6px 6px; -moz-border-radius: 6px 0 6px 6px; border-radius: 6px 0 6px 6px; }
而後在菜單項上添加dropdown-submenu樣式。
一個簡單的多級菜單
<div class="dropdown open"> <ul class="dropdown-menu"> <li><a>個人積分</a></li> <li><a>個人流量</a></li> <li class="divider"></li> <li class="dropdown-submenu"> <a>我的中心</a> <ul class="dropdown-menu"> <li><a>個人積分</a></li> <li><a>個人流量</a></li> <li class="divider"></li> <li><a>我的中心</a></li> </ul> </li> </ul> </div>
按鈕組
只須要在多個 按鈕外部使用一個容器元素(好比div),而後在容器元素上應用.btn-group樣式便可.
按鈕工具欄主要是將多個按鈕組排列在一塊兒,工具欄是一個容器,在容器元素上應用.btn-toolbar樣式。
支持lg、sm尺寸樣式
垂直分組.btn-group-vertical
.btn-group-justified樣式提供了一個特殊的功能,就是在一個.btn-group容器上,若是使用了該樣式,則全部的按鈕都會 100%充滿容器元素。
按鈕下拉菜單
下拉菜單須要知足一個特殊的需求,那就是必須有position: relative.(而.dropdown、btn-group樣式正好都有該屬性)
組合下拉菜單
分離下拉菜單(實際上就是加一個單獨按鈕。)
向上彈起的
只須要在容器上加上dropup樣式便可
<div class="btn-group dropup"> <a href="#" class="btn btn-default"> 向上彈起 </a> <a class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="#">1111111</a></li> <li><a href="#">2222222</a></li> </ul> </div>
輸入框組
只須要在容器上應用.input-group樣式,而後對須要在input先後顯示的個性元素上應用.input-group-addon樣式。
在.input-group-addon樣式裏,不只能夠放置label和icon,也能夠放置複選框(checkbox)和單選框(radio)。
支持lg,sm尺寸樣式。
按鈕做爲addon,因爲btn樣式自己就有大小顏色內外邊距樣式。.btn樣式又單獨設置了一 個.input-group-btn樣式
擴展:
導航
設置容器樣式,便可實現不一樣的導航效果
選項卡導航是最經常使用的一種導航方式,尤爲是在多內容編輯的時候,須要經過選項卡進行分組顯示
選項卡導航:nav nav-tabs
膠囊式導航:nav nav-pills
垂直導航: nav nav-pills nav-stacked (nav-tabs垂直導航效果老版本v2.x系列能夠,3.x新版本不能夠)
自適應導航:nav nav-pills nav-justified nav nav-tabs nav-justified
導航條
基礎導航條是在普通導航的基礎上進行改進實現的,但實現原理複雜得多
首先在普通導航的 ul元素上應用.navbar-nav樣式,而後在外部父元素容器上應用.navbar樣式以及.navbar-default樣式便可實現。
navbar-brand樣式的連接,表示該元素是導航條的名稱,起到提醒的目的
基礎導航條
<nav class="navbar navbar-default"> <div class="navbar-header"> <a href="#" class="navbar-brand">Never、C</a> </div> <ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li> <a href="#" data-toggle="dropdown">Center<span class="caret"></span></a> <ul class="dropdown-menu"> <li><a>11111111</a></li> <li><a>22222222</a></li> <li class="divider"></li> <li><a>11111111</a></li> </ul> </li> <li><a href="#">About</a></li> </ul> </nav>
導航條中的表單navbar-form
<nav class="navbar navbar-default"> <div class="navbar-header"> <a href="#" class="navbar-brand">Never、C</a> </div> <form class="navbar-form pull-left"> <div class="form-group"> <input type="text" class="form-control" name="name" value="" placeholder="Search" /> </div> <a href="#" class="btn btn-default">Submit</a> </form> <ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">About</a></li> </ul> </nav>
本質navbar-form設置爲inline-block效果,pull-left左浮動效果。
固定
提供了兩個強有力的樣式支持這一特性,分別是:.navbar-fixed-top支持最頂部固定,.navbar-fixedbottom支持最底部固定。
響應式導航條
屏幕大小的分界點是768像素, 在小於768像素的時候,全部的菜單默認會隱藏,單擊右邊的icon圖標,全部默認的菜單就會展現出來
使用
右上角的button圖標(icon)必須包含在.navbar-toggle樣式 裏
默認隱藏收縮的代碼都 在一個樣式爲.navbar-responsive-collapse的div裏,而且該div應用了navbar-collapse和collapse兩個樣式。
<nav class="navbar navbar-default"> <div class="navbar-header"> <!-- .navbar-toggle樣式用於toggle收縮的內容,即:collapse樣式所在的元素--> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <!--確保不管是寬屏仍是窄屏,navbar-brand都會顯示 --> <a class="navbar-brand" href="#">Brand</a> </div> <!-- 屏幕寬度小於768像素時,該div內的內容默認都會隱藏(經過單擊icon-bar所在的圖標,能夠再展開);大於768像素時默認顯示 --> <div class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li class="active"><a href="#">主頁</a></li> <li><a href="#">做品</a></li> <li><a href="#">圖書</a></li> <li class="dropdown"> <a data-toggle="dropdown" class="dropdown-toggle" href="#">下拉菜單 <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">子菜單1</a></li> <li><a href="#">子菜單2</a></li> <!--省略菜單 --> </ul> </li> </ul> </div> </nav>
麪包屑導航
麪包屑(Breadcrumb)通常用於導航,表示當前頁面所在的位置(或功能插件)。
在容器上(通常爲ul)添加breadcrumb類便可。
分頁導航
一個用戶體驗良好的分頁組件會獲得訪問用戶的良好評價。bs爲你們提供了兩種分頁組件,一種是帶多個頁碼的組件(pagination),一種是隻有上一頁、下一頁的翻頁組件 (pager)。
實際上pager加了居中效果,pagination實現相似btn-group效果
標籤
在網頁排版的時候,咱們常常要高亮一些標題裏的特殊字符或者整個字符, bs供了一個.label樣式用於實現高亮的功能。
label支持5種基本顏色和1個默認灰。
<span class="label label-info">info</span>
徽標
在開發交互式系統或者信息系統時,常常要顯示一些最新收到的消息、須要有多少審批的消息等。Bootstrap的.badge樣式提 供了很好的效果,只須要在span或者label上應用該樣式便可
.badge樣式有個遺憾就是,它沒有定義多風格顏色的設定。
使用如下擴展樣式,便可實現4種基本顏色
.badge-danger { background-color: #d9534f; } .badge-success { background-color: #5cb85c; } .badge-warning { background-color: #f0ad4e; } .badge-info { background-color: #5bc0de; }
大屏
在設計網頁佈局的時候,常常會有一些大屏(或大塊頭)內容的顯示,.jumbotron樣式提供的展現效果正是咱們所須要的。
在.jumbotron內部應用h1和p元素時,這兩種元素也會進行相應的調整。
若是jumbotron放在container樣式內,則顯示圓角;若是不放在裏面,就不會顯示圓角。而通常咱們會在大屏裏面套一個容器。
<div class="jumbotron"> <div class="container"> <h1>Hello World</h1> <p>.Net ......</p> <p><a href="#" class="btn btn-primary">Learn</a> </p> </div> </div>
縮略圖
結合12柵格系統,並使用.thumbnail樣式,能夠將圖像、視頻、文本展現得更加漂亮。
縮略圖有兩種使用方式,一種 用於僅顯示圖片,另一種利用容器將圖片和標題顯示在一塊兒。
能夠在.caption樣式的元素容器內,添加任意風格的元素,好比按鈕、連接等。本質加了個padding和color。
將如下內容放置一個row中,則會在大屏下一行顯示3個,中屏顯示2個,小屏顯示1個
<div class="col-md-6 col-lg-4"> <div class="thumbnail"> <img src="url" alt="Alternate Text" /> <div class="caption"> <h4>MicroSoft</h4> <p>MicroSoft ....</p> <p> <a class="btn btn-primary">Up</a> <a class="btn btn-default">Down</a> </p> </div> </div> </div>
警告框
在交互式網頁中,常常要根據用戶操做的上下文爲用戶提供 靈活的提示消息,好比操做成功、警告提示、錯誤信息。
默認的警告框是用帶有alert樣式的div元素容器包含的(p元 素也能夠),內部可選地添加一個關閉按鈕button元素,關閉按鈕要確保設置button元素的屬性值data-dismiss="alert", 緣由是警告框的關閉功能是經過JavaScript檢測該屬性實現的.
alert-danger(危險紅)、alert-success(成功綠)、alert-info(信息藍)、alert-warning(警告黃)
在警告框中,還對h四、hr、a標籤作了處理。組合起來很是酷。
<div class="alert alert-success"> <a href="#" class="close" data-dismiss="alert">x</a> <h4>Warning</h4> <hr /> <p>Check your write,or look <a href="#">help</a></p> </div>
進度條
進度條(Progress bar)是一個比較常見的網頁效果,通常用於表示加載、跳轉或動做正在執行中的狀態
progress用於設置進度條的容器樣式,而 progress-bar用於限制進度條的進度(顏色進度)。
progress樣式主要是設置進度條容器的背景色、容器高度、 間距等,progress-bar樣式在設置進度方面,重要的是設置了進度條的 顏色(即樣式的背景色)和過渡效果
除了progress-primary(重點藍)外,其餘4種基本顏色。
bs還爲進度條提供 了一種條紋樣式,而且不一樣的顏色能夠顯示不一樣的條紋。只是在容器元素上附加 了一個新的progress-striped樣式,該樣式的實現是利用CSS3的線 性漸變特性linear-gradient來實現的。
bs還提供了一個更炫的動畫 樣式,即:讓條紋動起來。active
堆疊,只要在progress容器內放置多個progress-bar便可實現。
<div class="progress progress-striped"> <div class="progress-bar active" style="width: 35%">35</div> <div class="progress-bar progress-bar-success" style="width: 15%"></div> </div>
媒體對象
媒體對象(Media object)這是一個抽象的樣式,用以構建不一樣類型的組件。
一組媒體的默認使用方式一般包括以下幾個樣式:media、 media-object、media-body、media-heading 4個樣式,和一個用於控制左右浮動的pull-left(或pull-right)樣式。
若是須要將多個媒體進行列表展現的話,則能夠利用在ul上應用media-list樣式、li上應用media樣式來實現。
<ul class="media-list"> <li class="media"> <div class="media-left"> <a href="#"> <img class="media-object" src="..." alt="..."> </a> </div> <div class="media-body"> <h4 class="media-heading">Media heading</h4> ... </div> </li> </ul>
列表
大部分的列表組都是由無標記的列表(ul/li)來實現
列表組有2個基本的樣式:listgroup和list-group-item。
導航箭頭
.list-group-item > .glyphicon-chevron-right { float: right; /* 設置小圖標 右浮動 */ margin-right: 5px; /* 小圖標在span、label、i元素上設置-15像素的右間距 */ } .list-group-item > .glyphicon + .badge { margin-right: 5px; /* 若是兩個圖標放在一塊兒顯示,則保留5像素的右間距 */ }
bs又提供了list-groupitem-heading和list-group-item-text這兩個樣式,用於開發人員自 定義列表項裏的具體內容,其表示的意思分別是:列表項條目的 頭部(heading)和主要內容(text)。
<div class="list-group"> <a href="#" class="list-group-item active"> <span class="badge">11</span> Cras justo odio </a> <a href="#" class="list-group-item list-group-item-danger">Dapibus ac facilisis in</a> <a href="#" class="list-group-item">Vestibulum at eros</a> <a href="#" class="list-group-item"> <h4 class="list-group-item-heading">List group item heading</h4> <p class="list-group-item-text">...</p> </a> </div>
面板
基礎的面板很簡單,就是簡單在div上應用panel,產生一個具 有邊框的文本顯示框
又爲其定義 了面板頭(panel-heading)和麪板尾(panel-footer)樣式,
除了progress-primary(重點藍)外,其餘4種基本顏色。
通常在使用面板的時候,每每可能會在主區域(panel-body)內放不少內容,好比圖片、表格等
帶表格的面板
<div class="panel panel-default"> <!-- Default panel contents --> <div class="panel-heading">Panel heading</div> <div class="panel-body"> <p>...</p> </div> <!-- Table --> <table class="table"> ... </table> </div>
窪地
窪地(Well)樣式的效果和大屏幕展播Jumbotron樣式相似, 不一樣點是well樣式有了邊框設置,而且默認高度是自適應文本的高度。主要用來實現嵌入在網頁中。
well樣式也提供了不一樣大小的樣式(主要是panding和圓角大小),分別是:well-lg和well-sm
內容太長會超出邊界!
3.x版本中還新增了一個bootstraptheme.css文件,該文件並無提供什麼新的功能,僅是針對一些經常使用的CSS組件進行了加強。
可是theme默認並無對全部的CSS組件都進行加強,而是針對9個方面的組件進行了加強:btn按鈕、縮略圖、 下拉菜單、導航條、警告框、進度條、列表組、面板和well
theme文件不是必需要引用的,若是喜歡這種風格才引用它;
若是要定製本身的風格,則能夠引用本身的theme名 稱,好比bootstrao-theme-flatui.css。
可是必定要注意,該文件必定要在bootstarp.min.css文件以後才能引用,不然會覆蓋默認的效果。
本節地址:http://neverc.cnblogs.com/p/4782635.html