Bootstrap的優(yōu)缺點是什么?
bootstrap是一個用于快速開發(fā)web應(yīng)用程序和網(wǎng)站的前端框架,基于html、css、javascript。
優(yōu)點是:移動設(shè)備優(yōu)先,支持主流瀏覽器,易使用,響應(yīng)式設(shè)計
缺點:不支持IE6,重度使用class而class不夠語義化,使用bootstrap開發(fā)的網(wǎng)站同質(zhì)化嚴(yán)重。
【相關(guān)視頻推薦:Bootstrap教程】
Bootstrap 提供了一套響應(yīng)式、移動設(shè)備優(yōu)先的流式網(wǎng)格系統(tǒng),隨著屏幕或視口(viewport)尺寸的增加,系統(tǒng)會自動分為最多12列。
移動設(shè)備優(yōu)先策略
-
內(nèi)容
-
決定什么是最重要的。
-
布局
-
優(yōu)先設(shè)計更小的寬度。
-
基礎(chǔ)的 CSS 是移動設(shè)備優(yōu)先,媒體查詢是針對于平板電腦、臺式電腦。
-
漸進增強
-
隨著屏幕大小的增加而添加元素。
響應(yīng)式網(wǎng)格系統(tǒng)隨著屏幕或視口(viewport)尺寸的增加,系統(tǒng)會自動分為最多12列。
Bootstrap 網(wǎng)格系統(tǒng)(Grid System)的工作原理
網(wǎng)格系統(tǒng)通過一系列包含內(nèi)容的行和列來創(chuàng)建頁面布局。下面列出了 Bootstrap 網(wǎng)格系統(tǒng)是如何工作的:
-
行必須放置在 .container class 內(nèi),以便獲得適當(dāng)?shù)膶R(alignment)和內(nèi)邊距(padding)。
-
使用行來創(chuàng)建列的水平組。
-
內(nèi)容應(yīng)該放置在列內(nèi),且唯有列可以是行的直接子元素。
-
預(yù)定義的網(wǎng)格類,比如 .row 和 .col-xs-4,可用于快速創(chuàng)建網(wǎng)格布局。LESS 混合類可用于更多語義布局。
-
列通過內(nèi)邊距(padding)來創(chuàng)建列內(nèi)容之間的間隙。該內(nèi)邊距是通過 .rows 上的外邊距(margin)取負(fù),表示第一列和最后一列的行偏移。
-
網(wǎng)格系統(tǒng)是通過指定您想要橫跨的十二個可用的列來創(chuàng)建的。例如,要創(chuàng)建三個相等的列,則使用三個 .col-xs-4。
-
媒體查詢
媒體查詢是非常別致的"有條件的 CSS 規(guī)則"。它只適用于一些基于某些規(guī)定條件的 CSS。如果滿足那些條件,則應(yīng)用相應(yīng)的樣式。
Bootstrap 中的媒體查詢允許您基于視口大小移動、顯示并隱藏內(nèi)容。下面的媒體查詢在 LESS 文件中使用,用來創(chuàng)建 Bootstrap 網(wǎng)格系統(tǒng)中的關(guān)鍵的分界點閾值。
/* 超小設(shè)備(手機,小于 768px) */ /* Bootstrap 中默認(rèn)情況下沒有媒體查詢 */ /* 小型設(shè)備(平板電腦,768px 起) */@media (min-width: @screen-sm-min) { ... } /* 中型設(shè)備(臺式電腦,992px 起) */@media (min-width: @screen-md-min) { ... } /* 大型設(shè)備(大臺式電腦,1200px 起) */@media (min-width: @screen-lg-min) { ... }
-
我們有時候也會在媒體查詢代碼中包含 max-width,從而將 CSS 的影響限制在更小范圍的屏幕大小之內(nèi)。
@media (max-width: @screen-xs-max) { ... } @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... } @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... } @media (min-width: @screen-lg-min) { ... }
-
媒體查詢有兩個部分,先是一個設(shè)備規(guī)范,然后是一個大小規(guī)則。在上面的案例中,設(shè)置了下列的規(guī)則:
讓我們來看下面這行代碼:
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
-
基本的網(wǎng)格結(jié)構(gòu)
下面是 Bootstrap 網(wǎng)格的基本結(jié)構(gòu):
<div class="container"> <div class="row"> <div class="col-*-*"></div> <div class="col-*-*"></div> </div> <div class="row">...</div></div><div class="container">....
初次更博 不到之處 望請指點 歡迎指教