在twitter bootstrap中有五个相等的列

Gan*_*alf 351 twitter-bootstrap twitter-bootstrap-3 bootstrap-4

我想在我正在构建的页面上有5个相等的列,我似乎无法理解这里是如何使用5列网格的:http://web.archive.org/web/20120416024539/http : //domain7 .COM /移动/工具/引导/响应

五列网格是否在twitter bootstrap框架的上方展示了?

Fiz*_*zix 502

对于Bootstrap 3及更高版本

这里创建一个梦幻般的全宽 5列布局与Twitter Bootstrap .

这是迄今为止最先进的解决方案,因为它可以与Bootstrap 3无缝协作.它允许您一遍又一遍地重复使用这些类,与当前的Bootstrap类配对,以实现响应式设计.

CSS:
将其添加到全局样式表中,甚至添加到bootstrap.css文档的底部.

.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col-xs-5ths {
    width: 20%;
    float: left;
}

@media (min-width: 768px) {
    .col-sm-5ths {
        width: 20%;
        float: left;
    }
}

@media (min-width: 992px) {
    .col-md-5ths {
        width: 20%;
        float: left;
    }
}

@media (min-width: 1200px) {
    .col-lg-5ths {
        width: 20%;
        float: left;
    }
}
Run Code Online (Sandbox Code Playgroud)

把它用到!
例如,如果要在中等屏幕上创建一个行为类似五列布局的div元素,而在较小的一行上创建两列,则只需要使用以下内容:

<div class="row">
    <div class="col-md-5ths col-xs-6">
       ...
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

工作演示 - 展开框架以查看列是否响应.

另一个演示示例 -结合新的col-*-5ths教学班,其他如col-*-3col-*-2.调整框架大小以查看它们col-xs-6在响应视图中的所有更改.


对于Bootstrap 4

Bootstrap 4现在默认使用flexbox,因此您可以直接使用它的神奇力量.查看动态调整宽度的自动布局列,具体取决于嵌套的列数.

这是一个例子:

<div class="row">
   <div class="col">
      1 of 5
   </div>
   <div class="col">
      2 of 5
   </div>
   <div class="col">
      3 of 5
   </div>
   <div class="col">
      4 of 5
   </div>
   <div class="col">
      5 of 5
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

工作演示

  • 嘿@scragar - 如果您查看所有Bootstrap当前列类的样式,您会注意到它们都包含`position:relative; 最小高度:1px; padding-right:15px; padding-left:15px;`.基本上,我发布的代码只是对此进行了扩展,以便它们与Bootstrap的内置样式完全匹配.然后我应用宽度为"20%",以便在页面上放置5个相等的列.非常简单 :) (3认同)
  • @ PaulD.Waite - 我在回答中添加了一个小小的说明让人们知道. (2认同)
  • `col - * - 15`对我很好,但`col - * - 5ths`可能是一个稍微混乱的列名.这就是我正在使用的,以便我的其他开发人员不会困惑我. (2认同)

jko*_*n.e 393

使用一个span2类的五个div,并给第一个offset1类.

<div class="row-fluid">
    <div class="span2 offset1"></div>
    <div class="span2"></div>
    <div class="span2"></div>
    <div class="span2"></div>
    <div class="span2"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

瞧!五个等间距和中心的列.


在bootstrap 3.0中,此代码看起来像

<div class="row">
    <div class="col-md-2 col-md-offset-1"></div>
    <div class="col-md-2"></div>
    <div class="col-md-2"></div>
    <div class="col-md-2"></div>
    <div class="col-md-2"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 我发布的解决方案全宽并创建5个相等的列:[这里是答案](http://stackoverflow.com/a/22799354/1799136). (43认同)
  • 它没有全宽.虽然这很好 (42认同)
  • 不像@fizzix提供的答案那样全宽.在两边都有不必要的边距,就像这样 - http://jsfiddle.net/wdo8L1ww/ (5认同)
  • 使用此解决方案,列看起来相当小,所以我更喜欢@fizzix解决方案 (3认同)
  • 对于那些使用 less/sass 和 bootstrap 3 的人,请检查 [@lightswitch05 答案](http://stackoverflow.com/a/21142019/1859114) (2认同)
  • **Bootstrap 4**5 cols(全宽)不需要CSS或SASS:http://stackoverflow.com/a/42226652/171456 (2认同)

lig*_*h05 165

对于自举3,如果你想全宽度和使用LESS,SASS或者类似的东西,所有你需要做的就是利用自举的混入的功能 make-md-column,make-sm-column等等.

减:

.col-lg-2-4{
  .make-lg-column(2.4)
}
.col-md-2-4{
  .make-md-column(2.4)
}
.col-sm-2-4{
  .make-sm-column(2.4)
}
Run Code Online (Sandbox Code Playgroud)

上海社会科学院:

.col-lg-2-4{
  @include make-lg-column(2.4)
}
.col-md-2-4{
  @include make-md-column(2.4)
}
.col-sm-2-4{
  @include make-sm-column(2.4)
}
Run Code Online (Sandbox Code Playgroud)

您不仅可以建立真正的全宽度的引导柱类使用这些混入,但你也可以建立所有相关的辅助类一样.col-md-push-*,.col-md-pull-*.col-md-offset-*:

减:

.col-md-push-2-4{
  .make-md-column-push(2.4)
}
.col-md-pull-2-4{
  .make-md-column-pull(2.4)
}
.col-md-offset-2-4{
  .make-md-column-offset(2.4)
}
Run Code Online (Sandbox Code Playgroud)

上海社会科学院:

.col-md-push-2-4{
  @include make-md-column-push(2.4)
}
.col-md-pull-2-4{
  @include make-md-column-pull(2.4)
}
.col-md-offset-2-4{
  @include make-md-column-offset(2.4)
}
Run Code Online (Sandbox Code Playgroud)

其他答案谈论@gridColumns完全有效的设置,但是更改了所有引导程序的核心列宽度.使用上面的mixin函数将在默认引导列的顶部添加5列布局,因此它不会破坏任何第三方工具或现有样式.

  • 这应该是最好的答案 (14认同)
  • 我对这个答案的相对较少的赞成感到震惊.到目前为止,它不仅是hacky,它不仅使用与其他Bootstrap列类相同的命名约定,而且使用Bootstrap用于创建自己的列的相同mixins,使其在Bootstrap 4之前可能具有前瞻性,至少. (6认同)
  • 最干净的解决方案,因为`2.4`是12的第5个(`2.4*5 = 12`),适用于12列网格中的Bootstrap 3.也适用于`make-xs`,`make-sm`,但它不能与其他标准col定义结合使用(最新获得优先级) (5认同)
  • 这应该是最好的答案.我已经基于此创建了一个库(包括`offset`,`pull`和`push`)供我自己使用.随意[查看](https://github.com/kennyki/bootstrap-5-columns) (3认同)
  • @ lightswitch05不幸的是,因为我有一个动态数量的列,所以不适合我.如果我只有一个列,我仍然希望它是屏幕的第5个,但是使用Fizzix的答案,单个列将覆盖整个屏幕.我设法使用新的Bootstrap 4 mixin函数来解决它.如果你愿意,我可以更新你的答案以包括这个吗? (2认同)

Zim*_*Zim 34

更新2018年

Bootstrap 4.0

以下是使用自动布局网格的 5个相等的全宽列(无额外的CSS或SASS):

<div class="container-fluid">
    <div class="row">
        <div class="col">1</div>
        <div class="col">2</div>
        <div class="col">3</div>
        <div class="col">4</div>
        <div class="col">5</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

http://www.codeply.com/go/MJTglTsq9h

这个解决方案有效,因为Bootstrap 4现在是flexbox.您可以.row使用clearfix break(例如<div class="col-12"></div><div class="w-100"></div>每5列)将5个colums包含在其中.

另见:Bootstrap - 5列布局

  • 等不及它稳定:) (2认同)
  • 很好,但只适用于 5 个元素的行。如果你得到更多,那你就错了。在这里查看我的增强小提琴:https://jsfiddle.net/djibe89/ntq8h910/ (2认同)

pla*_*orp 31

下面是@machineaddict和@Mafnah答案的组合,为Bootstrap 3重写(到目前为止我工作得很好):

@media (min-width: 768px){
    .fivecolumns .col-md-2, .fivecolumns .col-sm-2, .fivecolumns .col-lg-2  {
        width: 20%;
        *width: 20%;
    }
}
@media (min-width: 1200px) {
    .fivecolumns .col-md-2, .fivecolumns .col-sm-2, .fivecolumns .col-lg-2 {
        width: 20%;
        *width: 20%;
    }
}
@media (min-width: 768px) and (max-width: 979px) {
    .fivecolumns .col-md-2, .fivecolumns .col-sm-2, .fivecolumns .col-lg-2 {
        width: 20%;
        *width: 20%;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @Serg 1. 将其放在 Bootstrap css 文件的下方/之后 2. 将 .fivecolumns 类添加到 .row,然后使用 .col[,-sm,-lg]-2 类嵌套五列 (2认同)

mac*_*ict 27

将原始引导程序保留为12列,不要自定义它.你需要做的唯一修改是在原始bootstrap响应css 之后的一些css,如下所示:

以下代码已针对Bootstrap 2.3.2进行了测试:

<style type="text/css">
/* start of modification for 5 columns */
@media (min-width: 768px){
    .fivecolumns .span2 {
        width: 18.297872340425532%;
        *width: 18.2234042553191494%;
    }
}
@media (min-width: 1200px) {
    .fivecolumns .span2 {
        width: 17.9487179487179488%;
        *width: 17.87424986361156592%;
    }
}
@media (min-width: 768px) and (max-width: 979px) {
    .fivecolumns .span2 {
        width: 17.79005524861878448%;
        *width: 17.7155871635124022%;
    }
}
/* end of modification for 5 columns */
</style>
Run Code Online (Sandbox Code Playgroud)

和HTML:

<div class="row-fluid fivecolumns">
    <div class="span2">
        <h2>Heading</h2>
        <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
        <p><a class="btn" href="#">View details &raquo;</a></p>
    </div>
    <div class="span2">
        <h2>Heading</h2>
        <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
        <p><a class="btn" href="#">View details &raquo;</a></p>
    </div>
    <div class="span2">
        <h2>Heading</h2>
        <p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
        <p><a class="btn" href="#">View details &raquo;</a></p>
    </div>
    <div class="span2">
        <h2>Heading</h2>
        <p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
        <p><a class="btn" href="#">View details &raquo;</a></p>
    </div>
    <div class="span2">
        <h2>Heading</h2>
        <p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
        <p><a class="btn" href="#">View details &raquo;</a></p>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

注意:即使span2乘以5不等于12列,你也会明白:)

可以在这里找到一个工作示例http://jsfiddle.net/v3Uy5/6/

  • 我坚持使用Bootstrap 2.3.2,这很好用.谢谢! (2认同)

Dra*_*onZ 11

如果您不需要完全相同的列宽,可以尝试使用嵌套创建5列:

<div class="container">
    <div class="row">
        <div class="col-xs-5">
            <div class="row">
                <div class="col-xs-6 column">Column 1</div>
                <div class="col-xs-6 column">Column 2</div>
            </div>
        </div>
        <div class="col-xs-7">
            <div class="row">
                <div class="col-xs-4 column">Column 3</div>
                <div class="col-xs-4 column">Column 4</div>
                <div class="col-xs-4 column">Column 5</div>
            </div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

前两列的宽度等于5/12*1/2~20.83%

最后三列:7/12*1/3~19.44%

在许多情况下,这样的hack提供了可接受的结果,并且不需要任何CSS更改(我们仅使用本机引导类).


Pav*_*vlo 9

为5列布局创建自定义Bootstrap下载

转到Bootstrap 2.3.2(或Bootstrap 3)自定义页面并设置以下变量(不要输入分号):

@gridColumns:           5;
@gridColumnWidth:       172px;
@gridColumnWidth1200:   210px;
@gridColumnWidth768:    128px;
@gridGutterWidth768:    21px;
Run Code Online (Sandbox Code Playgroud)

下载您的构建.此网格适合默认容器,保留默认的装订线宽度(几乎).

注意:如果您使用的是LESS,请variables.less改为更新.


cau*_*aub 7

使用flexbox http://output.jsbin.com/juziwu

.flexrow {
  display: flex;
  background: lightgray; /*for debug*/
}
.flexrow > * {
  flex: 1;
  margin: 1em;
  outline: auto green;
}
Run Code Online (Sandbox Code Playgroud)
<div class="flexrow">
  <div>...</div>
  <div>...</div>
  <div>...</div>
  <div>...<br>..</div>
  <div>...</div>
</div>
Run Code Online (Sandbox Code Playgroud)


Stu*_*io4 6

我投了Mafnah的答案,但再次看到这个我建议如果你保持默认的边距等,下面会更好.

<div class="equal row-fluid">
    <div class="span2"></div>
    <div class="span2"></div>
    <div class="span2"></div>
    <div class="span2"></div>
    <div class="span2"></div>
</div>

.equal .span2 {
    width: 17.9%;
}
Run Code Online (Sandbox Code Playgroud)


hos*_*neh 6

最好的办法

仅将.row-cols-5类添加到您的行中。所以每行有 5 个 div。

<div class="container-fluid">
    <div class="row row-cols-5">
        <div class="col">1</div>
        <div class="col">2</div>
        <div class="col">3</div>
        <div class="col">4</div>
        <div class="col">5</div>
        <div class="col">6</div>
        <div class="col">7</div>
        <div class="col">8</div>
        <div class="col">9</div>
        <div class="col">10</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

使用响应式 .row-cols-* 类快速设置最能呈现内容和布局的列数。普通的 .col-* 类适用于各个列(例如 .col-md-4),而行列类则在父 .row 上设置为快捷方式。

  • 行-列-*
  • 行-列-sm-*
  • 行-列-md-*
  • 行-列-lg-*
  • 行-列-xl-*

您还可以使用随附的 Sass mixin row-cols():

.element {
  // Three columns to start
  @include row-cols(3);

  // Five columns from medium breakpoint up
  @include media-breakpoint-up(md) {
    @include row-cols(5);
  }
}
Run Code Online (Sandbox Code Playgroud)


Raj*_*nga 6

对于 Bootstrap 5 或更高版本

您可以使用row-cols-类名。

前任:row-cols-1row-cols-5row-cols-lg-5

<div class="container">
  <div class="row row-cols-5">
     // place your all cols here
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

更多信息请阅读官方文档


小智 5

<div class="equal row-fluid">
    <div class="span2"></div>
    <div class="span2"></div>
    <div class="span2"></div>
    <div class="span2"></div>
    <div class="span2"></div>
</div>

.equal .span2 {
    width: 20%;
}
Run Code Online (Sandbox Code Playgroud)


agD*_*Dev 5

使用类col-sm-2创建5个元素,并将类col-sm-offset-1添加到第一个元素

ps这将不是全宽(它将在屏幕的左右两侧缩进一点)

该代码应如下所示

<div class="col-sm-2 col-sm-offset-1"></div>
<div class="col-sm-2"></div>
<div class="col-sm-2"></div>
<div class="col-sm-2"></div>
<div class="col-sm-2"></div>
Run Code Online (Sandbox Code Playgroud)


daG*_*GUY 5

Bootstrap 4,每行可变列数

如果您希望每行最多有五列,以便更少的列数仍然只占行的 1/5,则解决方案是使用 Bootstrap 4 的mixins

社会保障:

.col-2-4 {
    @include make-col-ready(); // apply standard column margins, padding, etc.
    @include make-col(2.4); // 12/5 = 2.4
}
.col-sm-2-4 {
    @include make-col-ready();
    @include media-breakpoint-up(sm) {
        @include make-col(2.4);
    }
}
.col-md-2-4 {
    @include make-col-ready();
    @include media-breakpoint-up(md) {
        @include make-col(2.4);
    }
}
.col-lg-2-4 {
    @include make-col-ready();
    @include media-breakpoint-up(lg) {
        @include make-col(2.4);
    }
}
.col-xl-2-4 {
    @include make-col-ready();
    @include media-breakpoint-up(xl) {
        @include make-col(2.4);
    }
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<div class="container">    
  <div class="row">
    <div class="col-12 col-sm-2-4">1 of 5</div>
    <div class="col-12 col-sm-2-4">2 of 5</div>
    <div class="col-12 col-sm-2-4">3 of 5</div>
    <div class="col-12 col-sm-2-4">4 of 5</div>
    <div class="col-12 col-sm-2-4">5 of 5</div>
  </div>
  <div class="row">
    <div class="col-12 col-sm-2-4">1 of 2</div> <!-- same width as column "1 of 5" above -->
    <div class="col-12 col-sm-2-4">2 of 2</div> <!-- same width as column "2 of 5" above -->
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)


dji*_*ibe 5

对于 Bootstrap 4.4+

使用全新的row-cols-n课程。

  1. row-cols-5类添加到您的.rowdiv。不需要自定义 CSS。
  2. 有关 row-cols 的信息,请参阅此处的 4.4 文档:https : //getbootstrap.com/docs/4.4/layout/grid/#row-columns

对于 Bootstrap 4.4 之前的 Bootstrap 4 版本

  1. 复制下面的 CSS(Bootstrap 作者的很棒的 CSS)并将其添加到您的项目中

  2. 阅读上面引用的文档以正确使用它。

    .row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}@media (min-width:576px){.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}@media (min-width:768px){.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}@media (min-width:992px){.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}@media (min-width:1200px){.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}