在Twitter Bootstrap中,col-lg-*, col-md-*和col-sm-*有什么区别?


当前回答

它用来告诉引导程序根据屏幕大小在一行中要放置多少列

col-xs-2

在超大(xs)屏幕上,一行只显示2列,就像sm定义的小屏幕一样,md(中等尺寸),lg(大尺寸), 但是根据自举法则,如果你提到

xs-col-2 md-col-4

然后,对于屏幕大小从xs到sm(包括)的每一行将显示2列,以及当它获得下一个大小时的变化,即对于md到lg(包括) 为了更好地理解屏幕大小,尝试在chrome的开发者模式(ctr+shift+i)中以各种屏幕模式运行它们,并尝试各种像素或设备

其他回答

它用来告诉引导程序根据屏幕大小在一行中要放置多少列

col-xs-2

在超大(xs)屏幕上,一行只显示2列,就像sm定义的小屏幕一样,md(中等尺寸),lg(大尺寸), 但是根据自举法则,如果你提到

xs-col-2 md-col-4

然后,对于屏幕大小从xs到sm(包括)的每一行将显示2列,以及当它获得下一个大小时的变化,即对于md到lg(包括) 为了更好地理解屏幕大小,尝试在chrome的开发者模式(ctr+shift+i)中以各种屏幕模式运行它们,并尝试各种像素或设备

来自Twitter Bootstrap文档:

小网格(≥768px) = .col-sm-*, 中网格(≥992px) = .col-md-*, 大网格(≥1200px) = .col-lg-*。

更新2020…

引导5

在Bootstrap 5 (alpha)中有一个新的-xxl- size:

col-* - 0 (xs) col-sm-* - 576px 上校-MD-* - 768px col-lg-* - 992px col-xl-* - 1200px 嗡��

引导5网格演示


引导4

在Bootstrap 4中有一个新的-xl- size,请看这个演示。同时-xs-中缀也被删除了,所以最小的列就是col-1, col-2..col-12等等. .

col-* - 0 (xs) col-sm-* - 576px 上校-MD-* - 768px col-lg-* - 992px col-xl-* - 1200px

引导4网格演示

此外,Bootstrap 4还包括新的自动布局列。它们也有响应断点(col、col-sm、col-md等),但没有定义%宽度。因此,自动布局列在行中填充的宽度相等。


引导3

Bootstrap 3网格分为4层(或“断点”)…

小号(适用于智能手机.col-xs-*) 小(用于片剂。col-sm-*) 中等(适用于笔记本电脑。col-md-*) Large(用于笔记本/台式机.col-lg-*)。

这些网格大小使您能够控制不同宽度上的网格行为。不同的层由CSS媒体查询控制。

在Bootstrap的12列网格中…

Col-sm-3在典型的小设备宽度(> 768像素)上是12列宽中的3列(25%)

Col-md-3在典型的中等设备宽度(> 992像素)上是12列宽中的3列(25%)


较小的层(xs, sm或md)还定义了较大屏幕宽度的大小。因此,对于所有层上相同大小的列,只需设置最小视口的宽度…

<div class="col-lg-3 col-md-3 col-sm-3">..</div>等于,

< div级= >“col-sm-3。< / div >

更大的层是隐含的。因为col-sm-3意味着在sm-and-up上有3个单位,除非特别被使用不同尺寸的更大的层覆盖。

Xs(默认)>被sm覆盖>被md覆盖>被lg覆盖


组合这些类以在不同的网格大小上使用更改列宽度。这将创建一个响应式布局。

<div class="col- md3 col-sm-6">..</div>

sm, md和lg网格都将垂直“堆叠”在小于768像素的屏幕/视口上。这就是xs网格的位置。使用colx -xs-*类的列将不会垂直堆叠,并在最小的屏幕上继续缩小。

使用这个演示来调整浏览器的大小,你会看到网格缩放效果。


This article explains more about how the Bootstrap grid

设备大小和类前缀:

超小型设备电话(<768px) - .col-xs- 小型设备片剂(≥768px) - .col-sm- 中型设备桌面(≥992px) - .col-md- 大型设备桌面(≥1200px) - .col-lg-

网格选项:

参考资料:网格系统

让我们简化Bootstrap!

请注意col-sm如何占用576px以下的100%宽度(换句话说,会转换为新行),而col则不会。你可以注意到gif中顶部中心的当前宽度。

下面是代码:

<div class="container">
    <div class="row">
        <div class="col">col</div>
        <div class="col">col</div>
        <div class="col">col</div>
    </div>
    <div class="row">
        <div class="col-sm">col-sm</div>
        <div class="col-sm">col-sm</div>
        <div class="col-sm">col-sm</div>
    </div>
</div>

默认情况下,Bootstrap以相同宽度对齐单行中的所有列(col)。在这种情况下,无论屏幕大小如何,三个col都将占用100%/3宽度。你可以在gif中注意到。

现在,如果我们想每行只渲染一列,即给每列100%的宽度,但只对较小的屏幕?现在是col-xx类!

我使用col-sm是因为我想把列分割成低于576px的独立行。这4个col-xx类由Bootstrap提供不同的显示设备,如手机,平板电脑,笔记本电脑,大型显示器等。

因此,col-sm会跌破576px, col-md会跌破768px, col-lg会跌破992px, col-xl会跌破1200px

注意,在bootstrap 4中没有colx -xs类。

这就是总结。你可以回去工作了。


但还有更多。现在是col-*和col-xx-*用于自定义宽度。

记得在上面的例子中,我提到col或col-xx在一行中取相同的宽度。如果我们想给一个特定的col更多的宽度,我们可以这样做。

引导行被分为12部分,所以在上面的例子中有3个col,所以每个都需要12/3 = 4部分。您可以将这些部件视为测量宽度的一种方法。

我们也可以用col-*即col-4的格式来写:

<div class="row">
  <div class="col-4">col</div>
  <div class="col-4">col</div>
  <div class="col-4">col</div>
</div>

它不会有什么不同,因为默认情况下bootstrap给col相同的宽度(4 + 4 + 4 = 12)。

但是,如果我们想给第一个col 7个部分,给第二个col 3个部分,剩下的2个部分(12-7-3 = 2)给第三个col(7+3+2,所以总数是12),我们可以简单地这样做:

<div class="row">
  <div class="col-7">col-7</div>
  <div class="col-3">col-3</div>
  <div class="col-2">col-2</div>
</div>

您还可以自定义col-xx-*类的宽度。

<div class="row">
    <div class="col-sm-7">col-sm-7</div>
    <div class="col-sm-3">col-sm-3</div>
    <div class="col-sm-2">col-sm-2</div>
</div>

它在行动中看起来如何?

如果col的和大于12呢?然后col将移动/调整到线下。是的,一行可以有任意数量的列!

<div class="row">
        <div class="col-12">col-12</div>
        <div class="col-9">col-9</div>
        <div class="col-6">col-6</div>
        <div class="col-6">col-6</div>
    </div>

如果我们想在大屏幕上一行3列,但在小屏幕上将这些列分成2行,该怎么办?

<div class="row">
    <div class="col-12 col-sm">col-12 col-sm TOP</div>
    <div class="col col-sm">col col-sm</div>
    <div class="col col-sm">col col-sm</div>
</div>

你可以在这里玩:https://jsfiddle.net/JerryGoyal/6vqno0Lm/