【问题标题】:Bootstrap 4 Columns float style like Bootstrap 3 is it possible?像 Bootstrap 3 这样的 Bootstrap 4 Columns 浮动样式是否可能?
【发布时间】:2017-09-03 06:55:07
【问题描述】:

我开始使用 bootstrap 4 进行开发,现在我发现了这个问题: 当使用 bootstrap 3 列系统时,因为它使用浮点数,我们可以在一行中插入多列,它会根据指定的“col-size”填充空间,如下所示:

http://codepen.io/seltix/pen/QpXvRJ

 -------   -------   -------
| COL 1 | | COL 2 | | COL 3 |
|       |  -------   -------
|       | | COL 4 | | COL 5 |
 -------   -------   -------

<div class="container-fluid">
  <div class="row">
    <div class="col-sm-6 panel height-1">
      <div class="bg-danger">this box is a slider with fixed col-6 width and fixes 2 blue boxes height</div>
    </div>
    <div class="col-sm-3 panel height-2">
      <div class="bg-info">blue boxes count may change depending on the content.<br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
    </div>
    <div class="col-sm-3 panel height-2">
      <div class="bg-info">blue boxes count may change depending on the content.<br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
    </div>
    <div class="col-sm-3 panel height-2">
      <div class="bg-info">blue boxes count may change depending on the content.<br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
    </div>
    <div class="col-sm-3 panel height-2">
      <div class="bg-info">blue boxes count may change depending on the content.<br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
    </div>
    <div class="col-sm-3 panel height-2">
      <div class="bg-info">blue boxes count may change depending on the content.<br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
    </div>
</div>

但是使用 bootstrap 4 flex 系统,每个元素都使用行的全高,结果是这样的:

http://codepen.io/seltix/pen/PprmVE

 -------   -------   -------
| COL 1 | | COL 2 | | COL 3 |
|       |  -------   -------
|       |
 -------   -------
| COL 4 | | COL 5 |
 -------   -------

<div class="container-fluid">
  <div class="row">
    <div class="col-sm-6 card height-1">
      <div class="bg-danger">this box is a slider with fixed col-6 width and fixes 2 blue boxes height</div>
    </div>
    <div class="col-sm-3 card height-2">
      <div class="bg-info">blue boxes count may change depending on the content.<br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
    </div>
    <div class="col-sm-3 card height-2">
      <div class="bg-info">blue boxes count may change depending on the content.<br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
    </div>
    <div class="col-sm-3 card height-2">
      <div class="bg-info">blue boxes count may change depending on the content.<br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
    </div>
    <div class="col-sm-3 card height-2">
      <div class="bg-info">blue boxes count may change depending on the content.<br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
    </div>
    <div class="col-sm-3 card height-2">
      <div class="bg-info">blue boxes count may change depending on the content.<br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
    </div>
</div>

我已经用谷歌搜索并在 bootstrap 4 文档中搜索,但我没有找到任何解决方案。我发现最接近的是卡片列,一个类似砖石的例子,但我认为它不适用于这个例子,因为我无法指定列/卡片的宽度。 谢谢!

【问题讨论】:

    标签: css-float multiple-columns bootstrap-4 dynamic-columns


    【解决方案1】:

    是的,您可以使用实用程序类在 Bootstrap 4 中获得 3.x 网格“浮动”行为。

    使用d-block 将行从 display:flex 更改为 display:block。然后在每个列上使用float-left..

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

     <div class="row d-block">
            <div class="col-md-6 float-left card height-1">
                <div class="bg-danger">1
                    <br>this box is a slider with fixed col-6 width and fixes 2 blue boxes height</div>
            </div>
            <div class="col-md-3 float-left card height-2">
                <div class="bg-info">2
                    <br>blue boxes count may change depending on the content.
                    <br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
            </div>
            <div class="col-md-3 float-left card height-2">
                <div class="bg-info">3
                    <br>blue boxes count may change depending on the content.
                    <br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
            </div>
            <div class="col-md-3 float-left card height-2">
                <div class="bg-info">4
                    <br>blue boxes count may change depending on the content.
                    <br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
            </div>
            <div class="col-md-3 float-left card height-2">
                <div class="bg-info">5
                    <br>blue boxes count may change depending on the content.
                    <br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
            </div>
            <div class="col-md-3 float-left card height-2">
                <div class="bg-info">6
                    <br>blue boxes count may change depending on the content.
                    <br>if there are only 1 blue box the col size will change from 3 to 6 in the PHP</div>
            </div>
        </div>
    

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


    相关:Bootstrap 4 - I don't want columns to have the same height

    【讨论】:

    • 太棒了!谢谢 :D 我确实尝试将列向左拉,但效果很好,d-block 成功了!最后一个相关问题,在这一行之后,继续正常列什么是最好的选择?像这样在行尾有一个clearfix? codeply.com/go/nMG6vNDoZh
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 2018-10-13
    • 2021-10-05
    相关资源
    最近更新 更多