Bootstrap:如何堆叠不同高度的div?

Moe*_*eri 15 css3 twitter-bootstrap twitter-bootstrap-3

这个问题有点类似于这个,但我想知道是否有一个与Bootstrap兼容的纯CSS解决方案.

基本上,我有以下布局:

在此输入图像描述

这是该页面的HTML:

<div class="menu row">
    <div class="menu-category list-group col-lg-3 col-md-4 col-sm-6 col-xs-12">
        <div class="menu-category-name list-group-item active">Category</div><a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
    </div>

    <div class="menu-category list-group col-lg-3 col-md-4 col-sm-6 col-xs-12">
        <div class="menu-category-name list-group-item active">Category</div><a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
    </div>

    <div class="menu-category list-group col-lg-3 col-md-4 col-sm-6 col-xs-12">
        <div class="menu-category-name list-group-item active">Category</div><a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
    </div>

    <div class="menu-category list-group col-lg-3 col-md-4 col-sm-6 col-xs-12">
        <div class="menu-category-name list-group-item active">Category</div><a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
    </div>

    <div class="menu-category list-group col-lg-3 col-md-4 col-sm-6 col-xs-12">
        <div class="menu-category-name list-group-item active">Category</div><a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
        <a href="#" class="menu-item list-group-item">Lorem ipsum.<span class="badge">€ 0.00</span></a>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

问题是,正如您所看到的,Bootstrap的行系统在这里有点不方便.我希望这些类别以最佳方式堆叠.所以我的问题是:我怎么能用CSS做到这一点?砌体插件看起来很棒,但我想保留它用于B计划.

谢谢!

Ash*_*mar 32

最好使用.visible-sm,.visible-md,.visible-lg和clearfix类.这有助于根据屏幕尺寸清除浮子.

<!-- This will clear the float in Middle and Large Size screens only -->
<div class="clearfix visible-md visible-lg"></div>

<!-- This will clear the float in Small Size screens only -->
<div class="clearfix visible-sm"></div>
Run Code Online (Sandbox Code Playgroud)

请参见参考:关于Bootstrap 3

  • 这确实有助于行包装每个X,但不会像"砌体"样式布局那样消除间距.此外,还有更多标记:http://www.codeply.com/go/3gS13OJmea (2认同)

Zim*_*Zim 17

看看这些例子..

仅使用CSS进行砌体式布局

应用到你的Bootstrap list-group它看起来像这样..

http://bootply.com/85737

但是,您需要col-*从标记中删除Bootstrap 类,因为它们使用浮动使得砌体布局变得混乱.使用该*-column-width属性更改面板的宽度.因此,它可以使用纯CSS,但不能跨浏览器兼容,因此您仍然可能希望使用Masonry插件作为后备.

如果您只是想确保列包装每个x列,请使用Bootstrap 响应式重置,或使用如下所示的媒体查询的clearfix解决方案:http://www.codeply.com/go/jXuoGHHker

更多关于解决不同高度的问题

UPDATE Bootstrap 4将包含一个CSS列布局砌体选项.