關於bootstrap3.0的柵格系統原理

來源:互聯網
上載者:User
這篇文章主要介紹了關於bootstrap3.0的柵格系統原理,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

Bootstrap內建了一套響應式、行動裝置優先的流式柵格系統,隨著螢幕裝置或視口(viewport)尺寸的增加,系統會自動分為最多12列。我在這裡是把Bootstrap中的柵格系統叫做布局

柵格系統(布局)

Bootstrap內建了一套響應式、行動裝置優先的流式柵格系統,隨著螢幕裝置或視口(viewport)尺寸的增加,系統會自動分為最多12列。

我在這裡是把Bootstrap中的柵格系統叫做布局。它就是通過一系列的行(row)與列(column)的組合建立頁面配置,然後你的內容就可以放入到你建立好的布局當中。下面就簡單介紹一下Bootstrap柵格系統的工作原理:

行(row)必須包含在.container中,以便為其賦予合適的排列(aligment)和內補(padding)。使用行(row)在水平方向建立一組列(cpumn)。你的內容應當放置於列(cpumn)內,而且,只有列(cpumn)可以作為行(row)的直接子項目。類似Predefined grid classes like .row and .cp-xs-4 這些預定義的柵格class可以用來快速建立柵格布局。Bootstrap源碼中定義的mixin也可以用來建立語義化的布局。通過設定padding從而建立列(cpumn)之間的間隔(gutter)。然後通過為第一和最後一樣設定負值的margin從而抵消掉padding的影響。柵格系統中的列是通過指定1到12的值來表示其跨越的範圍。例如,三個等寬的列可以使用三個.cp-xs-4來建立。

DW6編碼實現

Okay勒,下面開始寫代碼了額。首先上一張圖看看我使用的編輯器,之前在學校學習Html+CSS的時候使用較多的工具。

然後建立一個HTML文檔,選擇類型HTML5

建立好後,另存新檔與上一節的講解中js、css檔案夾的同一目錄下。

layout.html就是我剛剛建立的檔案。Bootstrap.html也是上一節中建立的第一個html頁面。

現在可以將Bootstrap.html中的代碼全部Copy到layout.html頁面。

然後在body標籤下添加如下代碼

<h1>Hello, world!</h1><h2class="page-header">地區一</h2><p>Bootstraphasafeweasywaystoquicklygetstarted,eachoneappealingtoadifferentskilllevelandusecase.Readthroughtoseewhatsuitsyourparticularneeds.</p><h2class="page-header">地區二</h2><p>IfyouworkwithBootstrap'suncompiledsourcecode,youneedtocompiletheLESSfilestoproduceusableCSSfiles.ForcompilingLESSfilesintoCSS,weonlyofficiallysupportRecess,whichisTwitter'sCSShinterbasedonless.js.</p><h2class="page-header">地區三</h2><p>Withinthedownloadyou'llfindthefollowingdirectoriesandfiles,logicallygroupingcommonresourcesandprovidingbothcompiledandminifiedvariations.</p>

這幾個標籤大家應該都能看的明白,最基礎最簡單的。

添加完後layout.html頁面所有代碼如下

<!DOCTYPE html><html><head><title>Bootstrap</title><metaname="viewport"content="width=device-width,initial-scale=1.0"><!--Bootstrap--><linkhref="css/bootstrap.min.css"rel="stylesheet"media="screen"></p><p><!--HTML5ShimandRespond.jsIE8supportofHTML5elementsandmediaqueries--><!--WARNING:Respond.jsdoesn'tworkifyouviewthepageviafile://--><!--[ifltIE9]><scriptsrc="<a href="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script">https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script</a>><scriptsrc="<a href="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script">https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script</a>><![endif]--></head><body><h1>Hello,world!</h1><h2class="page-header">地區一</h2><p>Bootstraphasafeweasywaystoquicklygetstarted,eachoneappealingtoadifferentskilllevelandusecase.Readthroughtoseewhatsuitsyourparticularneeds.</p><h2class="page-header">地區二</h2><p>IfyouworkwithBootstrap'suncompiledsourcecode,youneedtocompiletheLESSfilestoproduceusableCSSfiles.ForcompilingLESSfilesintoCSS,weonlyofficiallysupportRecess,whichisTwitter'sCSShinterbasedonless.js.</p><h2class="page-header">地區三</h2><p>Withinthedownloadyou'llfindthefollowingdirectoriesandfiles,logicallygroupingcommonresourcesandprovidingbothcompiledandminifiedvariations.</p><scriptsrc="js/jquery-2.0.3.min.js"></script><scriptsrc="js/bootstrap.min.js"></script></body></html>

當然效果也很簡單,我還是把放上,可以進行對比。

最佳化一:可以發現的頁面效果佔滿全屏,我們可以通過Bootstrap 樣式類對上面的內容進行置中。

<p class="container"> .........之前上面添加在body標籤下的代碼</p>

效果如下

可以發現container這個類設定了寬度,並且可以讓內容顯示在頁面的中間。

最佳化二:將三個地區顯示在同一排,並且平均分成三欄。

首先為三個地區添加一個容器,可以使用p,並且為p添加一個類 <p class="row">.

然後我們為每個小的地區也添加一個容器p,並且為p添加一個類<p class="cp-xs-4">

簡單代碼實現如下

<p class="container"><h1>Hello,world!</h1><pclass="row"><pclass="col-xs-4"><h2class="page-header">地區一</h2><p>Bootstraphasafeweasywaystoquicklygetstarted,eachoneappealingtoadifferentskilllevelandusecase.Readthroughtoseewhatsuitsyourparticularneeds.</p></p><pclass="col-xs-4"><h2class="page-header">地區二</h2><p>IfyouworkwithBootstrap'suncompiledsourcecode,youneedtocompiletheLESSfilestoproduceusableCSSfiles.ForcompilingLESSfilesintoCSS,weonlyofficiallysupportRecess,whichisTwitter'sCSShinterbasedonless.js.</p></p><pclass="col-xs-4"><h2class="page-header">地區三</h2><p>Withinthedownloadyou'llfindthefollowingdirectoriesandfiles,logicallygroupingcommonresourcesandprovidingbothcompiledandminifiedvariations.</p></p></p></p>

效果如下

的確排成一列,然後分成三欄。再結合一下上面柵格系統的6部原理。是不是懂一點了,反正我自己懂了很多。通過同樣的方式可以建立出比較複雜的網格布局頁面。只需要在布局使用的容器上面添加相應的網格布局的類。比如說如果內容佔用6個網格,那麼就添加一個cp-xs-6的類、佔用四個網格就添加一個cp-xs-4的類,然後在同一排的周圍進行使用帶有row類的容器。

總結

本節主要學習的布局(柵格系統),通過簡單的執行個體來理解它的工作原理。

使用過的類有:

1..container:用.container包裹頁面上的內容即可實現置中對齊。在不同的媒體查詢或值範圍內都為container設定了max-width,用以匹配柵格系統。

2..cp-xs-4:這個類通過"-"分為三個部分,第三個部分的數字作為一個泛指,它的範圍是1到12。就是可以把一個地區分為12個欄,這個要和row類聯合使用。

其實這個布局很像HTMl中的Table布局TR行和TD列吧。

暫時的理解就這些,代碼直接複製粘貼就可以看效果,當然首先要把預先的css、js檔案進行準備。

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.