Bootstrap栅格系统详解,响应式布局

时间:2022-08-12 04:47:02

Bootstrap栅格系统详解

Bootstrap栅格系统详解,响应式布局

栅格系统介绍

Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。

栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局,你的内容就可以放入这些创建好的布局中。
但在较复杂的页面上出现问题,间隔,内外边距常困扰开发人员,需要深入源码和文档理解栅格系统才能运用自如。

“行(row)”必须包含在 .container (固定宽度)或 .container-fluid (100% 宽度)中,以便为其赋予合适的排列(aligment)和内补(padding)。

Bootstrap 栅格系统的精妙之处, 通过container, row, column都有15px的padding槽边和 row的margin -15px设置,巧妙实现在 column 中嵌套 row进行nesting 扩展(超过12列),而不需要再套一层 container

http://v3.bootcss.com/css/#grid

Container作用

在随时可能的宽度变化(响应式)中提供宽度限制。当页面宽度变化,container 的宽度也随之变化。并且其中的 column 的宽度是基于百分比,所以他们的值不需要变化。

提供一个水平方向的 padding,使其内部的内容不会接触到浏览器的边界,大小为15px,就是图片中粉红色的部分。

注意,不需要也不应该在 container 中嵌套另一个 container。

Row作用

Row 是 column 直接存在的容器,按照文档描述 row 中最多可有12个 column,不过可以通过 nesting 的方式灵活扩展。同时作为都是左浮动的 column 的 wrapper,自带 clearfix 的性质。

row 左右各有 -15px 的 margin,就是图片中的蓝色部分。这样也就抵消了上面提到的 container 中15px的 padding,这是bootsrtap栅格系统的精妙之处。

注意:千万记住要把 row 放到 container 的内部,这样才能保证正常。

Column作用

每个column 也会有15px的水平方向的 padding,也就是图片中黄色的部分,colunmn 只能在 row 中生存,由于 row 的 margin 为-15px,那么位于两边的 column 就碰到了 container 的边界。但是 colunmn 本身又有 15px 的 padding 使得它其中的内容并不会碰到 container,同时 不同column的内容之间就有了30px的槽。结合图片看一下就一目了然了。

注意:一定要把 column 放到 row 里使用。

nesting扩展

通过container, row, column都有15px的padding槽边和 row的margin -15px设置,巧妙实现在 column 中嵌套 row进行nesting 扩展(超过12列),而不需要再套一层 container

在 nseting 的时候 column 的作用也相当于 container 了,这样就可以实现任意的嵌套了。