Bootstrap 精華一頁紙

Bootstrap 是基于H5利用 JS和CSS 進(jìn)行布局橱乱、提供插件办成、動畫的一個框架俱病。使用了JQuery進(jìn)行DOM控制官疲。

1、布局部分


采用了 網(wǎng)格式布局(本質(zhì)上是table布局庶艾,把頁面按照網(wǎng)格進(jìn)行布局)

I袁余、把設(shè)備分為了四種- 按找媒體查詢,實現(xiàn)響應(yīng)式布局(按照 max-width/min-width進(jìn)行區(qū)分)

xs 768

sm 768 - 992

md 992 - 1200

lg 1200 -

II咱揍、把一個空間分成 12 列

col-設(shè)備-列寬度

網(wǎng)格布局可以嵌套,每行一都是 12棚饵,可以小于 12 但不能大于 12

III、除了規(guī)整布局外,還可以偏移

col-xxx-offset-xx 跳過起始列

col-xxx-push-xx 向右推幾列

col-xxx-pull-xx 向左推幾列

IV抖锥、還提供了響應(yīng)式布局的控制

visibile-xs-xxx

hide-xs-xxx

visibile-xs-block/inline/block-inline

2蜂莉、組件


所有的布局組件基本都提供了如下的樣式

I、四種類型的樣式 success/info/warning/danger 來區(qū)分不同場景下的顯示

II欣硼、提供了狀態(tài): active/disable 激活和禁止的 樣式; 提供了 show和 hide

III题翰、提供了控件大小 xxx-md/xs/lg/sm

3、基本組件 - 樣式


I诈胜、文本類樣式

Bootstrap 為文本提供了豹障,類似于Word 排版功能的樣式

a、各種主標(biāo)題焦匈、副標(biāo)題血公、子標(biāo)題 .head .small ...

b、文本對齊 .text-left/right/center

c缓熟、自定義了一些元素標(biāo)簽

address 地址

abbr 帶提示的文本

應(yīng)用 blockquote & small cite q

復(fù)雜列表 dl/dt (增強(qiáng) ul/ol)

d累魔、提供了H5源代碼的顯示

code pre 元素

II摔笤、表格

.table

.table-border

.table-hover 提供懸停樣式

還有一些其他背景樣式 .table-stripped 緊湊表格.table-condensed 響應(yīng)式布局.table-responsive

結(jié)合 .success 等四種樣式,還能對表格數(shù)據(jù)實現(xiàn) 差異化的展示(比如通過 js垦写,angularjs對數(shù)據(jù)進(jìn)行處理吕世、ng-class 動態(tài)添加class)

III、表單

a梯投、在 元素中提供 .form 的 role屬性 類寞冯,提供樣式 (這邊自定義了一個role屬性,而不是樣式)

b晚伙、在每一組(label + 控件) 提供 .form-group 的class類提供樣式吮龄,包括間距等等

c、默認(rèn)是 垂直布局咆疗,如果需要 內(nèi)聯(lián)/水平 在 元素 提供 .form-inline/.form-horizontal 樣式

這三種布局的區(qū)別是

垂直漓帚,所有元素都是占據(jù)一行,即使是 .form-group 組內(nèi)的也是

內(nèi)聯(lián)午磁,所有元素都合并到 同一行

水平尝抖,指的是 .from-group 同一組內(nèi)的元素是同一行

d、提供了以下表單控件

Input輸入框 (text/password/dattime/number/email/url ...)

文本框 Textarea

選擇框 (復(fù)選 checkbox/單選 radio)

靜態(tài)控件 -- 用于一些標(biāo)簽后的純文本顯示 提供了一個 form-control-static 類

e迅皇、表單狀態(tài)和驗證

除了基本狀態(tài)active/disable 外昧辽,還有 focus狀態(tài) .focus

驗證?登颓?(has-error/warning/success 只是樣式搅荞?)

IV、按鈕

a框咙、首先使用 .btn .btn-default 使用基本樣式咕痛,比如圓角等等;然后可選各種按鈕屬性

b喇嘱、最終的按鈕屬性 .active / .disabled 這些茉贡,原始的就可以標(biāo)注按鈕是否點擊過,通過 angularJS的比如 ng-class/ ng-click 這些來達(dá)到按鈕的豐富控制

c者铜、a 鏈接元素也可以使用按鈕樣式

V腔丧、圖片

圖片樣式比較簡單就是普通圖片,很難有什么特別的樣式處理

a作烟、增加了 圓角 img-rounded 原型 img-circle

b愉粤、提供類似 縮略圖的樣式 img-thumbnail

其他一些功能

a、提供了布局的一些控制 .pull-left .pull-right .center-block .clearfix 清除浮動

b俗壹、屏幕專用 sr-only

c科汗、.close .caret 提供了 關(guān)閉和下來的類似按鈕的樣式

4、增強(qiáng)版組件 - 樣式


增強(qiáng)版功能绷雏,主要是在 一些基本組件上進(jìn)行功能疊加头滔,形成一些常用的組件

I怖亭、字體圖標(biāo)

幾乎所有常見的圖標(biāo)都有,建議所有圖標(biāo)盡量使用字體圖標(biāo)坤检,而不是 icon 圖片兴猩,一是因為性能;二是因為字體圖標(biāo)可以任意控制

II早歇、基于列表ul(ol)/li 實現(xiàn)的一些控件

a倾芝、基本菜單

通過 display:inline 把列表在一行顯示,并且設(shè)置邊框箭跳,背景晨另,陰影等一系列效果

b、導(dǎo)航元素 -- 就是一個Tab控件

使用 .nav 類 + .nav-tabs

把Tab控件變成 膠囊導(dǎo)航

.nav-pills

使用垂直的導(dǎo)航菜單 .nav-stacked

兩端對齊 .nav-justified

c谱姓、導(dǎo)航欄 -- 類似菜單效果

在導(dǎo)航元素的基礎(chǔ)上增加一個 .navbar-nav 的類借尿,就可以實現(xiàn) 導(dǎo)航欄的效果

navbar-header/navbar-brand

使用icon-bar 多個疊加可以形成特殊效果的 漢堡按鈕 (把他放在按鈕里面,響應(yīng)點擊事件)

導(dǎo)航中的組件對齊方式 : .navbar-left/right 都是基于 float的浮動

導(dǎo)航中的位置:

固定位置 .navabar-fixed-top/bottom屉来, 不管滾動條如何滾動都是 當(dāng)前瀏覽器的頂部(這個就可以做成現(xiàn)在網(wǎng)站的 頂部導(dǎo)航功能路翻,表格導(dǎo)航) 靜態(tài)位置 .navbar-static-top 隨著滾動條,導(dǎo)航菜單就移動到畫面外

倒置導(dǎo)航欄 -- 主要指顏色的對比茄靠,類似于 負(fù)片

d茂契、面包屑導(dǎo)航

.breadcrumb

    e、分頁 & 翻頁

    f慨绳、列表組

    還是使用的列表掉冶,功能類似于 下拉菜單,或者導(dǎo)航

    III儡蔓、按鈕組

    通過.btn-group 提供按鈕組的功能郭蕉; .btn-toolbar 再把分組的按鈕組結(jié)合在一起。按鈕組也可以嵌套

    使用 按鈕組和 直接多個button連在一起的區(qū)別是(1喂江、內(nèi)聯(lián);2旁振、按鈕間距)

    IV获询、表單增強(qiáng) - 輸入框組

    a、簡單分組 input-group 和btn-group類似拐袜,功能提供不多

    b吉嚣、input-group-addon 提供面板功能,利用這個面板可以提供非常豐富的組合功能

    按鈕|文本|復(fù)選框|下來菜單|分隔式下來菜單... 甚至圖片也可以

    V蹬铺、表單增強(qiáng) - 標(biāo)簽 & 徽章

    標(biāo)簽功能很簡單 .lable .label-default ...

    徽章功能不簡單

    VI尝哆、圖片增強(qiáng) - 直接增加縮略圖

    取代了img-xx 的樣式,直接使用 .thumbnail

    VII甜攀、容器(面板 & 警告 & well)

    提供面板功能秋泄,一般對于一個單獨的組件琐馆,一個彈出框,就比較有用了

    .panel

    .panel-heading

    .panel-title

    .panel-body

    .panel-footer

    提供一個警告框恒序,可以結(jié)合 success 等多種樣式來實現(xiàn)顯示功能

    .alert

    .well -- 提供一個嵌入面板的效果

    VIII瘦麸、新控件 - 進(jìn)度條

    (也可以用在條形圖適用的場景)

    .progress

    .progress-bar

    style width 作為 進(jìn)度數(shù)據(jù);可以增加條紋和動畫效果

    IVV、頁面標(biāo)題 & 超大屏幕

    .page-header

    .jumbotron

    VV歧胁、多媒體對象

    .media

    .meida-heading

    .media-body

    .media-object

    可以用在類似一些 圖文結(jié)合的場合滋饲,比如 文章評論

    效果

    fade

    5、插件 - 樣式+屬性(JS)


    Bootstrap 提供了 data-xx 屬性(對應(yīng)有API操作喊巍,可以二選一)屠缭,通過 12 個js來實現(xiàn)

    I、屬性部分

    data-toggle 觸發(fā)型

    collapse - 折疊效果(同級別)

    dropdown - 下來菜單(子級別)

    modal - 模態(tài)框

    tab - 標(biāo)簽頁

    tooltip - 提示工具

    popover - 彈出框 (可以支持 HTML塊崭参,能夠有箭頭引導(dǎo))

    button/buttons - 按鈕切換效果

    根據(jù)觸發(fā)(一般是點擊觸發(fā))時呵曹,是否有 大段內(nèi)容需要展示,要分為是否需要有 目標(biāo)對象 data-target阵翎; 除了 tooltip/popover提示內(nèi)容比較簡單逢并、button 只是樣式外,其他的都需要有目標(biāo)郭卫。

    目標(biāo)一般可以采用兩種方式

    a砍聊、data-target

    b、href

    data-spy 監(jiān)控型

    scroll - 監(jiān)控滾動贰军,當(dāng)前頁面頂部激活到哪個部分

    affix - 當(dāng)滾動或者其他觸發(fā)時玻蝌,固定在某一個位置,不再隨頁面滾動 (table表頭的最佳實現(xiàn))

    監(jiān)控型主要是監(jiān)控的 滾動條變化時词疼,對元素的動態(tài)顯示控制俯树,包括位置設(shè)置等等。affix 因為是固定位置贰盗,所以只需要 data-offset-top/bottom 指定值就可以了许饿。

    II、標(biāo)準(zhǔn)插件過程

    a舵盈、一般 提供一些 樣式類陋率,來定義插件的樣式

    b、定義 data-xx 屬性秽晚,指定實現(xiàn)何種插件效果瓦糟;并可能會指定 目標(biāo)元素塊 一般是 data-target/href

    c、目標(biāo)元素塊 ID

    III赴蝇、事件

    事件一般是兩類菩浙,一類是過程開始觸發(fā);一類是過程執(zhí)行結(jié)束

    xx.bs.插件

    xxed.bs.插件

    比如

    show.bs.collpase

    shown.bs.collpase (closed.bs.alert)

    IV、其他data屬性

    data-miss?

    data-dismiss="alert|modal" aria-hidden="true"

    data-dissmiss 選項為 alert|modal 提供關(guān)閉功能

    V劲蜻、模態(tài)框插件 - toggle

    VI陆淀、下拉菜單插件 - toggle

    a、外層容器的元素 定義 .dropdown 的 class類

    b斋竞、選擇一個下拉的元素(任意元素倔约,比如p,當(dāng)然常見的是button) 使用 .dropdown-toggle 的類坝初,并使用 data-toggle 屬性(另外 .caret 下來剪頭可選)

    c浸剩、提供 列表ul ,并且指定 .dropdown-menu 類

    菜單還可以提供分隔符 .divider

    菜單還可以變成上拉菜單 .dropup

    菜單如果失效 .disable

    添加標(biāo)題 .dropdown-header

    利用 btn-group + 下拉菜單鳄袍,形成按鈕下來菜單

    VII绢要、標(biāo)簽頁插件 - tab頁/導(dǎo)航欄 toggle

      在前面導(dǎo)航元素里面,提到過 使用 .nav nav-tabs 可以實現(xiàn) 標(biāo)簽頁(tab)的效果拗小,但如果只是這些重罪,只有標(biāo)簽欄,沒有數(shù)據(jù)哀九;如果需要實現(xiàn)標(biāo)簽頁+數(shù)據(jù)剿配,就需要用到 data屬性了。

      1阅束、data-toggle 指定觸發(fā)點是 tab呼胚,通過 data-target/ href 指定目標(biāo)元素塊

      --- 因為是 tab,有多個點擊按鈕息裸,多個目標(biāo)蝇更,所以每一個 li 都需要增加觸發(fā)點

      2、目標(biāo)塊 定義 ID屬性

      增加淡入淡出效果 .tab-pane .fade

      結(jié)合前面的下拉可以實現(xiàn)導(dǎo)航菜單 | 結(jié)合后面的折疊也可以實現(xiàn) 呼盆?

      VIII年扩、內(nèi)控插件(提示工具、彈出框访圃、按鈕)- toggle

      內(nèi)控插件是自發(fā)明的一個說法厨幻,主要這三個插件,沒有單獨的元素塊進(jìn)行操作

      提示工具:

      a腿时、data-toggle="tooltip" 定義觸發(fā)點

      b克胳、提示內(nèi)容,因為 提示比較簡單圈匆,只有一個描述,所以沒有使用 target/href等操作捏雌,直接使用了 title屬性

      對于提示出現(xiàn)的位置提供了 data-placement="left/right/top/bottom" 屬性

      另外還提供 data-html 可以編寫 HTML 代碼塊跃赚;提供觸發(fā)方式、時延、動畫效果等等

      彈出框 - 增強(qiáng)一點的提示工具(很多功能都類似)

      a纬傲、data-toggle="popover"

      b满败、使用 title屬性 使用 data-content 屬性,增加內(nèi)容(tooltip 也可以)

      按鈕 - 實現(xiàn)響應(yīng)上的一組按鈕

      a叹括、data-toggle="button/ buttons" 提供了單個按鈕(多個按鈕組)的切換功能,一般結(jié)合 btn-group 使用

      -- 比如算墨,點擊和非點擊時的狀態(tài)不同(可以用在查詢按鈕)

      b、提供了 data-loading-text ,作為 加載時的按鈕 文本汁雷,需要配合 JS 加載 事件聯(lián)合使用

      IX净嘀、折疊插件 - toggle

      a、定義 觸發(fā)點 data-toggle="collapse" 定義 data-target="#id"/ href=""

      b侠讯、定義 折疊內(nèi)容 的 id

      面板 .panel-collapse .collapse .in 還提供了一些class類增加樣式

      data-parent 提供了折疊的下拉框分組屬性(就是 失敗原因多個折疊面板挖藏,同時只能有一個顯示)

      雖然都是控制界面顯示,折疊和下拉還是略有區(qū)別厢漩;1膜眠、指定target 時,下拉是指定自己的父容器溜嗜;而折疊則是平級的目標(biāo)宵膨;2、下拉會遮擋其他元素炸宵;而折疊會平移元素辟躏。

      折疊一般用在 according 下來面板,主要是條件方面焙压;而下拉一般是用在 菜單和到紅方面

      X鸿脓、滾動監(jiān)聽 - spy

      a、定義監(jiān)控點(對應(yīng)的是觸發(fā)點) data-spy="scroll" data-target 指定關(guān)注監(jiān)控點的目標(biāo)即監(jiān)控哪些數(shù)據(jù)(div段落)

      b涯曲、在被監(jiān)控點的每個節(jié)點部分 定義 id 屬性

      c野哭、關(guān)注監(jiān)控的地方,使用 href='#id' /data-target 幻件,則在滾動到具體div段落id時拨黔,選擇事件就會觸發(fā)到該選項

      data-offset -- 距離頂部的偏移像素

      水平|垂直 - 主要差別在監(jiān)控的菜單是水平擺放,還是垂直擺放

      XI绰沥、附加導(dǎo)航 - spy

      附加導(dǎo)航主要功能是篱蝇,在觸發(fā)之前,位置不變徽曲,一旦觸發(fā)零截,比如距離頂部還有 125 個像素開始顯示

      有多個樣式可以控制 .affix .affix-top .affix-bottom

      data-offset 對于頂端的偏移量

      這個是實現(xiàn)table|導(dǎo)航欄|搜索 等等浮動到頂部的一個重要功能

      XII、輪播 - 單獨的一個功能點

      提供了類似秃臣,一個幻燈片的涧衙,多個圖片切換的功能哪工,這個在 網(wǎng)站的主頁廣告宣傳欄標(biāo)準(zhǔn)配置

      a、首先要指定樣式 (沒有樣式無法使用弧哎,不像button 之類的雁比,離開一些樣式正常使用)

      容器使用 .carousel 樣式 加上 .slide 樣式有漸變滾動效果

      b、設(shè)定幻燈片面板

      .carousel-indicators 樣式

      data-target 指定顯示的外層容器 即使用 .carousel 的類

      data-slide-to='index' 指定該圖片的索引位置

      c撤嫩、具體顯示的圖片

      .carousel-inner 樣式 每個圖片使用 item 樣式 其中要有一個圖片 active 偎捎,不然幻燈片不會顯示

      至此就可以實現(xiàn)了,如果需要加上前向和后向的按鈕

      d序攘、導(dǎo)航按鈕 .carousel-congtrol left data-slide="prev" data-tagert/href 同樣指向 外層的容器面板

      如果需要給圖片加 顯示內(nèi)容

      e茴她、添加圖片文字 .carousel-caption 可以添加HTML和純文本

      data-interval 可以顯式指定,自動播放循環(huán)的間隔

      data-pause 鼠標(biāo)進(jìn)入時暫停循環(huán)两踏,離開時恢復(fù) hover 屬性败京,還可以有其他的

      data-wrap 是否循環(huán)播放

      還有一個警告框,用處不是很大

      總體而言梦染、1:Bootstrap 提供了 表單 | 表格 | 圖片 | 按鈕 | 排版 等基本功能的樣式赡麦,并提供了很多增強(qiáng)的控件 按鈕組 | 標(biāo)簽 | 徽章 | 進(jìn)度條 | 導(dǎo)航 | 分頁 | 面板 | 圖標(biāo) | 輸入框組、并通過動態(tài)插件增加了有著豐富動作的 下拉 | 折疊 | 模態(tài) | 監(jiān)控 | 輪播 帕识,結(jié)合了各種組件實現(xiàn)了控件的豐富功能泛粹;2:提供了豐富的布局功能,通過柵格/網(wǎng)格化布局肮疗,實現(xiàn)了 類似Java的Grid 布局方式晶姊。

      最后編輯于
      ?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
      • 序言:七十年代末,一起剝皮案震驚了整個濱河市伪货,隨后出現(xiàn)的幾起案子们衙,更是在濱河造成了極大的恐慌,老刑警劉巖碱呼,帶你破解...
        沈念sama閱讀 216,372評論 6 498
      • 序言:濱河連續(xù)發(fā)生了三起死亡事件蒙挑,死亡現(xiàn)場離奇詭異,居然都是意外死亡愚臀,警方通過查閱死者的電腦和手機(jī)忆蚀,發(fā)現(xiàn)死者居然都...
        沈念sama閱讀 92,368評論 3 392
      • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姑裂,“玉大人馋袜,你說我怎么就攤上這事〔案” “怎么了欣鳖?”我有些...
        開封第一講書人閱讀 162,415評論 0 353
      • 文/不壞的土叔 我叫張陵,是天一觀的道長茴厉。 經(jīng)常有香客問我观堂,道長让网,這世上最難降的妖魔是什么? 我笑而不...
        開封第一講書人閱讀 58,157評論 1 292
      • 正文 為了忘掉前任师痕,我火速辦了婚禮,結(jié)果婚禮上而账,老公的妹妹穿的比我還像新娘胰坟。我一直安慰自己,他們只是感情好泞辐,可當(dāng)我...
        茶點故事閱讀 67,171評論 6 388
      • 文/花漫 我一把揭開白布笔横。 她就那樣靜靜地躺著,像睡著了一般咐吼。 火紅的嫁衣襯著肌膚如雪吹缔。 梳的紋絲不亂的頭發(fā)上,一...
        開封第一講書人閱讀 51,125評論 1 297
      • 那天锯茄,我揣著相機(jī)與錄音厢塘,去河邊找鬼。 笑死肌幽,一個胖子當(dāng)著我的面吹牛晚碾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播喂急,決...
        沈念sama閱讀 40,028評論 3 417
      • 文/蒼蘭香墨 我猛地睜開眼格嘁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了廊移?” 一聲冷哼從身側(cè)響起糕簿,我...
        開封第一講書人閱讀 38,887評論 0 274
      • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎狡孔,沒想到半個月后懂诗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
        沈念sama閱讀 45,310評論 1 310
      • 正文 獨居荒郊野嶺守林人離奇死亡步氏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
        茶點故事閱讀 37,533評論 2 332
      • 正文 我和宋清朗相戀三年响禽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荚醒。...
        茶點故事閱讀 39,690評論 1 348
      • 序言:一個原本活蹦亂跳的男人離奇死亡芋类,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出界阁,到底是詐尸還是另有隱情侯繁,我是刑警寧澤,帶...
        沈念sama閱讀 35,411評論 5 343
      • 正文 年R本政府宣布泡躯,位于F島的核電站贮竟,受9級特大地震影響丽焊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜咕别,卻給世界環(huán)境...
        茶點故事閱讀 41,004評論 3 325
      • 文/蒙蒙 一技健、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惰拱,春花似錦雌贱、人聲如沸。這莊子的主人今日做“春日...
        開封第一講書人閱讀 31,659評論 0 22
      • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至昔逗,卻和暖如春降传,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背勾怒。 一陣腳步聲響...
        開封第一講書人閱讀 32,812評論 1 268
      • 我被黑心中介騙來泰國打工婆排, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人控硼。 一個月前我還...
        沈念sama閱讀 47,693評論 2 368
      • 正文 我出身青樓泽论,卻偏偏與公主長得像,于是被迫代替她去往敵國和親卡乾。 傳聞我的和親對象是個殘疾皇子翼悴,可洞房花燭夜當(dāng)晚...
        茶點故事閱讀 44,577評論 2 353

      推薦閱讀更多精彩內(nèi)容

      • 第5章 菜單、按鈕及導(dǎo)航 一幔妨、下拉菜單 小伙伴們注意鹦赎,在Bootstrap框架中的下拉菜單組件是一個獨立的組件,根...
        凜0_0閱讀 4,965評論 0 66
      • 第4章 Bootstrap裝飾插件 JavaScript是網(wǎng)頁上事實上的腳本語言误堡。流行的網(wǎng)頁功能古话,例如:漂亮的圖片...
        海上名月閱讀 1,623評論 5 6
      • 原文出處 http://blog.poetries.top/2016/11/19/bootstrap-review...
        程序員poetry閱讀 7,074評論 0 42
      • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件锁施、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
        肇東周閱讀 12,093評論 4 62
      • 感冒唯一的原因就是你的身體超負(fù)荷的工作傻谁,頭腦超負(fù)荷的工作,身體沒有一個休息的機(jī)會列粪,身體對於你過度的超越負(fù)荷的一種反...
        axjl如意閱讀 320評論 0 0