@H_5020@刚开始用Bootstrap的格子系统写布局的时候遇到了这样一个问题:
@H502_0@我的页面中有这样一个布局
<p style="text-align: center">
@H_5020@我希望当屏幕的宽度小于他们俩宽度之和的时候,右边的部分会掉下来,他们垂直摆放。
@H502_0@而我用col-xs-6的话,右边的盒子永远都不会掉下来。
<p style="text-align: center">
<p style="text-align: left">文字就变得这么丑。
@H_502_0@如果我用col-sm-6的话,右边的盒子又会太早掉下来。
<p style="text-align: center">
<p style="text-align: left">此时的屏幕宽度是766px,他就已经堆叠排放了,两边留下了大片空白,还是很丑。
@H_5020@而Bootstarp没有提供中间的选项了。
@H502_0@想要解决这个问题,必须要弄清楚这种响应式布局的是如何工作的。
@H_5020@
Bootstarp将这种机制成为<span style="color: #800000">Grid system。
@H5020@<span style="color: #800000">
思想:
@H5020@将屏幕划分成相等大小的格子,一般划分成12,24,或32份。Bootstrap选择默认划分成12份。
@H5020@<span style="color: #800000">
规则:
@H5020@1.数据行(.row)必须包含在定宽容器(.container)或满宽容器(.container-fluid)中,以便为其赋予合适的对齐方式和内距(padding)。
@H502_0@2.具体内容应当放置在列容器(column)之内,而且只有列(column)才可以作为行容器(.row)的直接子元素
@H_5020@3.列与列之间有30px的间距。
@H502_0@4.提供4种不同类型的列:
<p style="text-align: center">
<p style="text-align: left">在我看来,这张图就是Grid system的精髓所在,通过试验可以发现:
<p style="text-align: left">当屏宽小于768px(即小屏)时,列的划分以.col-xs-后面的数字为准。如果没定义.col-xs-,就会变成单列且宽度和row相等。
<p style="text-align: left">当屏宽在768px和992px之间(即平板屏)时,列的划分以.col-sm-后面的数字为准。如果没有定义col-sm-,以.col-xs-为准。
<p style="text-align: left">当屏宽在992px和1200px之间(即中屏)时,列的划分以.col-md-后面的数字为准。如果没有定义.col-md-,以col-sm-或col-xs-为准。
<p style="text-align: left">当屏宽大于1200px(即大屏)时,列的划分以.col-lg-后面的数字为准。如果没有定义.col-md-,以.col-md-或col-sm-或col-xs-为准。
<p style="text-align: left"><span style="color: #800000">
核心原理:
<p style="text-align: left">这种响应机制是怎么实现的呢?
<p style="text-align: left">用一个例子来研究一下,在HTML中写一个这样的结构:
<div class="jb51code">
<pre class="brush:xhtml;">
<div class="container">
<div class="row">
<div class="col-xs-3 col-md-4 col-sm-6 col-lg-2">col-xs-3 col-sm-6 col-md-4 col-lg-2