我对新的Bootstrap中的网格系统感到困惑,尤其是这些类:
col-lg-* col-md-* col-xs-*
(其中*代表一些数字)。
任何人都可以解释以下内容:
仅适用于Bootstrap 3。
忽略字母(X 小号 , SM , MD , LG ) 现在 ,我只用数字开始…
col-*-6
col-*-12
因此,如果您希望 两个相等的列 跨越一个div,请编写
<div class="col-xs-6">Column 1</div> <div class="col-xs-6">Column 2</div>
或者,如果您希望 三个不相等的列 跨越相同的宽度,则可以编写:
<div class="col-xs-2">Column 1</div> <div class="col-xs-6">Column 2</div> <div class="col-xs-4">Column 3</div>
您会注意到列数始终加起来为12。它可以少于十二,但是要注意,如果超过十二,则您的冒犯div会跳到下一行(不是.row,这是另一个故事)。
.row
您也可以将 列嵌套在列 中(最好.row在它们周围使用包装器),例如:
<div class="col-xs-6"> <div class="row"> <div class="col-xs-4">Column 1-a</div> <div class="col-xs-8">Column 1-b</div> </div> </div> <div class="col-xs-6"> <div class="row"> <div class="col-xs-2">Column 2-a</div> <div class="col-xs-10">Column 2-b</div> </div> </div>
每套嵌套的div最多也跨越其父div的12列。注意:由于每个.col类的两边都有15px的内边距,因此通常应将嵌套的列包装在.row具有-15px边距的内。这样可以避免重复填充,并使内容在嵌套和非嵌套col类之间保持一致。
.col
-您没有具体询问xs, sm, md, lg使用情况,但是它们是紧密结合的,所以我不禁要碰一下…
xs, sm, md, lg
简而言之,它们用于定义该类应采用的 屏幕尺寸 :
通常, 您应该使用多个列类对div进行分类,以便它的行为取决于屏幕大小(这是使Bootstrap响应的核心)。例如:使用类一个div col- xs-6和col-sm-4将跨越一半的移动电话上(XS)和片剂(SM)在屏幕的1/3屏幕。
col- xs-6
col-sm-4
<div class="col-xs-6 col-sm-4">Column 1</div> <!-- 1/2 width on mobile, 1/3 screen on tablet) --> <div class="col-xs-6 col-sm-8">Column 2</div> <!-- 1/2 width on mobile, 2/3 width on tablet -->
注: 按下面的评论,对于给定的屏幕尺寸网格类适用于屏幕尺寸 和更大 除非另一份声明重写它(即col-xs-6 col- md-4跨度6列xs 和sm,并在4列md 和lg,即使sm和lg从来没有明确宣布)
col-xs-6 col- md-4
xs
sm
md
lg
注意: 如果你没有定义xs,将默认为col-xs-12(即col- sm-6一半的宽度sm,md并lg在屏幕上,但全宽xs屏幕)。
col-xs-12
col- sm-6
注意: 如果您.row包括超过12个列,则实际上完全可以,只要您知道它们会如何反应即可。-这是一个有争议的问题,并非所有人都同意。