如何在Bootstrap中创建切片布局

时间:2015-08-21 08:16:57

标签: css twitter-bootstrap

我在我的网站上使用Bootstrap 3,我有很多帖子。现在我使用bootstrap列和面板在索引页面上显示帖子。

但我想在平铺视图中显示与Pinterest页面相同的帖子。

在bootstrap 3中有没有办法做到这一点?现在我的布局看起来像

<div class="row product-list">
    <?php getList(); ?>
</div>

函数获取帖子列表。 它们显示在这样的面板中:

<a href="product-des.php?1">
<div class='col-xs-12 col-sm-4 col-md-3 col-lg-3'><div class='panel panel-warning'>
<div class='panel-heading'>Microsoft Lumia 575</div>
<div class='panel-body'>
<img class='product_listing_img img-responsive' src=files/uploaded_images/mobile-2.jpg></div>
</div>
</div>
</a>

当前视图

What it looks like now using panels

预期观点

What I'd like it to look like (Pinterest style)

2 个答案:

答案 0 :(得分:9)

如果您的帖子高度相同,那么您可以将col-md-*类用于row内包含的切片。根据您想要的帖子数量,每行都会有帖子。

<div class="row">
    <div class="col-md-2">Title Test</div>
    <div class="col-md-2">Title Test</div>
    <div class="col-md-2">Title Test</div>
    <div class="col-md-2">Title Test</div>
    <div class="col-md-2">Title Test</div>
    <div class="col-md-2">Title Test</div>
</div>

如果帖子的高度可变,那么我建议你使用像masonry这样的插件

请参阅此处有关动态高度图块的示例:http://masonry.desandro.com/layout.html#imagesloaded

使用CSS的基本示例

演示:http://jsfiddle.net/tQANc/590/

<强> CSS:

#container {
    width: 100%;
    max-width: 700px;
    margin: 2em auto;
}
.cols {
    -moz-column-count:3;
    -moz-column-gap: 3%;
    -moz-column-width: 30%;
    -webkit-column-count:3;
    -webkit-column-gap: 3%;
    -webkit-column-width: 30%;
    column-count: 3;
    column-gap: 3%;
    column-width: 30%;
}
.box {
    margin-bottom: 20px;
    height:100px;
    background:#BFBFBF;
}

HTML:

<div id="container" class="cols">
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
</div>

答案 1 :(得分:4)

老问题,但是我在搜索同样的问题时遇到了这个问题,所以为遇到这个问题的其他人发布了答案。

添加 Bootstrap v4 并使用卡片功能http://v4-alpha.getbootstrap.com/components/card/

关于向后兼容性的说明,当我使用v4而不是v3时,这在我测试时打破了很多布局。因此,要使用Cards功能而不必重新编写大量布局,请将CSS文件添加到页面中,这样您就可以将v3和v4并排放在一起。确保v4是第一个,v3是该顺序页面上的最后一个,这样当浏览器加载v3时v3优先。