如何用bootstrap栅格系统实现响应式

如何用bootstrap栅格系统实现响应式


月关宝盒
浏览 1075回答 2
2回答

明月笑刀无情

栅格系统介绍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列),而不需要再套一层 containerContainer作用在随时可能的宽度变化(响应式)中提供宽度限制。当页面宽度变化,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 了,这样就可以实现任意的嵌套了。

翻阅古今

禁止响应式布局有如下几步:移除 此 CSS 文档中提到的设置浏览器视口(viewport)的标签:<meta>。通过为 .container 类设置一个 width 值从而覆盖框架的默认 width 设置,例如 width: 970px !important; 。请确保这些设置全部放在默认的 Bootstrap CSS 文件的后面。注意,如果你把它放到媒体查询中,也可以略去!important 。如果使用了导航条,需要移除所有导航条的折叠和展开行为。对于栅格布局,额外增加 .col-xs-* 类或替换掉 .col-md-* 和 .col-lg-*。 不要担心,针对超小屏幕设备的栅格系统能够在所有分辨率的环境下展开。针对 IE8 仍然需要额外引入 Respond.js 文件(由于仍然利用了浏览器对媒体查询(media query)的支持,因此还需要做处理)。这样就禁用了 Bootstrap 对移动设备的响应式支持。
打开App,查看更多内容
随时随地看视频慕课网APP