bootstrap解析-柵格系統

陳帥發表於2019-02-16

.container(佈局容器)

螢幕寬1200px以上(col-lg)
1. 預設width為1170px
2. padding,lefet和right各為15px,所以內容width為1140px;
螢幕寬992px以上(col-md)
1. 預設width為970px
2. padding,lefet和right各為15px,所以內容width為940px;
螢幕寬768px以上(col-sm)
1. 預設width為750px
2. padding,lefet和right各為15px,所以內容width為720px;
螢幕寬768px以下(col-xs)
1. 預設width為100%
2. padding,lefet和right各為15px,所以內容width為100%-30px;

.container-fluid(流式佈局容器)

1. width為100%
2. 其他和.container一樣

.row(行)

1. 預設margin-left和margin-right為-15px;
2. 這樣就抵消掉了.container的padding,row的顯示區域width就為.container的width了
3. 利用::after清楚浮動

.col-(列)

1. 用@media來設定width對應百分比
2. padding,lefet和right各為15px
3. float:left
4. position:relative
5. min-height:1px

.col-*-offset-(移動)

1. 利用@media來設定margin-left相應的百分比

.col--push-和.col--pull-(列排序)

1. 由於col-設定了posistion:relative所以通過設定left(push)和righ(pull)來改變節點的位置。

其他情況

列的高度不同時

解決 .clearfix(清除浮動)
1. 由於列都浮動了,所以閾值時會產生一些問題,所需要配合清除相應位置的浮動來解決

列大於12時

1. 由於列浮動了,所以超出的列會自動換行排列

巢狀

1. 由於以上屬性設定,所以巢狀寫.row和.col-就可以

bootstrap的柵格系統基本就是這些,所以也沒什麼神祕的,你自己也完全可以寫出自己的柵格系統來。
本篇博文首發於本人個人部落格檢視更多點這裡

相關文章