Bootstrap柵格化解析

來源:互聯網
上載者:User

版心(container)

  1. 版心:class名為.container的容器,其版心的寬度在各個螢幕裝置下是不一樣的值,版心兩邊就是留白。
    各尺寸下版心寬度如下表:

    螢幕裝置 版心寬度
    max-width:768px xs 繼承父元素寬度(即width:100%)
    min-width:768px sm 750px
    min-width:992px md 970px
    min-width:1200px lg 1170px

.container {  padding-right: 15px;  padding-left: 15px;  margin-right: auto;  margin-left: auto;}@media (min-width: 768px) {  .container {    width: 750px;  }}@media (min-width: 992px) {  .container {    width: 970px;  }}@media (min-width: 1200px) {  .container {    width: 1170px;  }}.container-fluid {  padding-right: 15px;  padding-left: 15px;  margin-right: auto;  margin-left: auto;}

  1. 不管什麼寬度的螢幕,版心容器.container總會有左右15px的padding,是為了讓內容不直接緊貼瀏覽器邊緣的。在一個container中永遠不要再嵌套一個container.

  2. .container-fluid的版心容器跟小於768px螢幕的版心一樣,自己沒有設定固定寬度值,繼承其父元素的寬度。

  3. .container容器是用來在響應式寬度上提供寬度約束。響應尺寸的改變其實改變的是container,行(row)和列(column)都是基於百分比的所以它們不需要做任何改變。

行(row)

  1. 行:class名為.row的容器;它為列(col)一共了空間,總共分為12列。

  2. row兩端會有兩個負的15px的margin值,為了抵消掉container兩側的padding值。.row在container外使用時無效的。

.row {    margin-right: -15px;    margin-left: -15px;}

列(column)

  1. 每一列都有兩側15px的padding值。永遠不要在.row容器外使用col,否則col是無效的。

  2. 每列col的padding值給其內容提供了空白,使內容不會緊貼在瀏覽器邊緣,列之間也不會緊貼在一起。

  3. ==列都是按照百分比分配的(相對於版心寬度的百分比,所以版心越寬的,每列寬度就越大)==。

//五列的寬度.col-xs-5 {  width: 41.66666667%;}// 四列的寬度.col-xs-4 {  width: 33.33333333%;}// 三列的寬度.col-xs-3 {  width: 25%;}// 佔兩列的寬度.col-xs-2 {  width: 16.66666667%;}// 每列的寬度是版心寬度的8.33333333%.col-xs-1 {  width: 8.33333333%;}...// 如果是中等螢幕 類名為.col-md-1//       小螢幕   類名為:.col-sm-1//       大螢幕   類名為:.col-lg-1@media (min-width:768px) {    .col-sm-1 {        width: 8.33333333%;    }    .col-sm-2 {        width: 16.66666667%;    }    ...}@media (min-width: 992px) {    .col-md-1 {        width: 8.33333333%;    }    .col-md-2 {        width: 16.66666667%;    }    ...}@media (min-width:1200px) {    .col-lg-1 {        width: 8.33333333%;    }    .col-lg-2 {        width: 16.66666667%;    }    ...}
柵格嵌套

  1. 當設定了 container/row/column之後,可以在column內再建立新的柵格系統,在column裡面直接再添加row就可以了,不需要再套container了,因為列的兩側padding值 正好可以抵消row的兩側負的margin值,列相當於container了。

位移(offsets)

  1. 位移offset主要是靠列的margin-left值決定。位移一列的話就是margin-left:8.3333333%(1/12),位移兩列就是margin-left:16.66666667%(即2/12);

.col-xs-offset-0 {    margin-left: 0;}.col-xs-offset-1 {    margin-left: 8.33333333%;}...@median (min-width:768px) {    .col-sm-offset-0 {        margin-left: 0;    }    .col-sm-offset-1 {        margin-left: 8.33333333%;    }    ...}...

列的排序(Push 和 Pull)

  1. 在實際應用中更多表現的是呼喚位置和進行排序,允許你打破html中p從上到下 從左至右的固定式配置。

  2. pull 和 push 是通過position的 right 和 left值實現的,pull是通過right值,pull-1值 right:8.33333333% (1/12); push-1值=> left:8.33333333%(1/12);

// push 距離左邊的距離(向右推的列數)以最小屏為例.col-xs-push-2 {  left: 16.66666667%;}.col-xs-push-1 {  left: 8.33333333%;}.col-xs-push-0 {  left: auto;}...// pull 距離右邊的距離(向左拉的列數)以最小屏為例.col-xs-pull-2 {  right: 16.66666667%;}.col-xs-pull-1 {  right: 8.33333333%;}.col-xs-pull-0 {  right: auto;}
相關文章

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.