一尘不染

Bootstrap中“ col-md-4”,“ col-xs-1”,“ col-lg-2”中数字的含义

css

我对新的Bootstrap中的网格系统感到困惑,尤其是这些类:

col-lg-*
col-md-*
col-xs-*

(其中*代表一些数字)。

任何人都可以解释以下内容:

  1. __这个数字 如何 对齐网格?
  2. 如何 使用这些数字?
  3. 什么 他们实际上代表什么呢?

阅读 2822

收藏
2020-05-16

共1个答案

一尘不染

仅适用于Bootstrap 3。

忽略字母(X 小号SMMDLG 现在 ,我只用数字开始…

  • 数字(1-12)代表任何div总宽度的一部分
  • 所有div分为12列
  • 因此,col-*-6跨度为12列中的6个(一半的宽度),col-*-12跨度为12列中的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在它们周围使用包装器),例如:

<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类之间保持一致。

-您没有具体询问xs, sm, md, lg使用情况,但是它们是紧密结合的,所以我不禁要碰一下…

简而言之,它们用于定义该类应采用的 屏幕尺寸

  • xs = 超小屏幕 (手机)
  • sm = 小屏幕 (平板电脑)
  • md = 中型屏幕 (某些台式机)
  • lg = 大屏幕 (其余台式机)

通常, 您应该使用多个列类对div进行分类,以便它的行为取决于屏幕大小(这是使Bootstrap响应的核心)。例如:使用类一个div col- xs-6col-sm-4将跨越一半的移动电话上(XS)和片剂(SM)在屏幕的1/3屏幕。

<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,即使smlg从来没有明确宣布)

注意: 如果你没有定义xs,将默认为col-xs-12(即col- sm-6一半的宽度smmdlg在屏幕上,但全宽xs屏幕)。

注意: 如果您.row包括超过12个列,则实际上完全可以,只要您知道它们会如何反应即可。-这是一个有争议的问题,并非所有人都同意。

2020-05-16