【问题标题】:Bootstrap Fluid grid system with different heightBootstrap 不同高度的流体网格系统
【发布时间】:2018-02-21 21:28:26
【问题描述】:

我是 Bootstrap 的新手。我想使用不同高度和相同宽度的流体网格系统网格,如下图。

我怎样才能实现相同的功能?请帮帮我。

【问题讨论】:

标签: twitter-bootstrap twitter-bootstrap-3


【解决方案1】:

使用“开箱即用”的 Bootstrap 执行此操作的唯一方法是使用 4 列并将每列中的项目堆叠起来。当您不知道每列中有多少项目时,这对于动态内容并不理想。此外,项目的顺序是从上到下,而不是从左到右

<div class="container-fluid">
    <div class="row">
        <div class="col-md-3">
        <!--item1-->
        <!--item2-->
        <!--item3-->
        <!--item4-->
        </div>
        <div class="col-md-3">
        <!--item5-->
        <!--item6-->
        <!--item7-->
        <!--item8-->
        </div>
        <div class="col-md-3">
        <!--item-->
        <!--item-->
        <!--item-->
        </div>
        <div class="col-md-3">
        <!--item-->
        <!--item-->
        <!--item-->
        <!--item-->
        <!--item-->
        </div>
      </div>
</div>


否则,您必须使用像 MasonryIsotope 这样的 jQuery 插件,或者使用 CSS3 多列。

jQuery插件方法

Bootstrap Masonry Demo
Bootstrap Masonry Demo 2

CSS3 列法(砌体式 CSS 解决方案)..

这不是 Bootstrap 3 的原生方法,而是使用 CSS multi-columns 的另一种方法。这种方法的一个缺点是列顺序是从上到下,而不是从左到右

CSS3 multi-columns Demo

还有more detailed info in this answer回答类似问题。

2018 年更新

Bootstrap 4 包含一个使用 CSS3 多列的类似 Masonry 的解决方案: Masonry cards Demo

【讨论】:

    【解决方案2】:

    Bootstrap v4.0.0-beta.2 卡片栏

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
    
    <div class="card-columns">
      <div class="card">
        <img class="card-img-top" src="..." alt="Card image cap">
        <div class="card-body">
          <h4 class="card-title">Card title that wraps to a new line</h4>
          <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
        </div>
      </div>
      <div class="card p-3">
        <blockquote class="blockquote mb-0 card-body">
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
          <footer class="blockquote-footer">
            <small class="text-muted">
              Someone famous in <cite title="Source Title">Source Title</cite>
            </small>
          </footer>
        </blockquote>
      </div>
      <div class="card">
        <img class="card-img-top" src="..." alt="Card image cap">
        <div class="card-body">
          <h4 class="card-title">Card title</h4>
          <p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
          <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
        </div>
      </div>
      <div class="card bg-primary text-white text-center p-3">
        <blockquote class="blockquote mb-0">
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat.</p>
          <footer class="blockquote-footer">
            <small>
              Someone famous in <cite title="Source Title">Source Title</cite>
            </small>
          </footer>
        </blockquote>
      </div>
      <div class="card text-center">
        <div class="card-body">
          <h4 class="card-title">Card title</h4>
          <p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
          <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
        </div>
      </div>
      <div class="card">
        <img class="card-img" src="..." alt="Card image">
      </div>
      <div class="card p-3 text-right">
        <blockquote class="blockquote mb-0">
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
          <footer class="blockquote-footer">
            <small class="text-muted">
              Someone famous in <cite title="Source Title">Source Title</cite>
            </small>
          </footer>
        </blockquote>
      </div>
      <div class="card">
        <div class="card-body">
          <h4 class="card-title">Card title</h4>
          <p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.</p>
          <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
        </div>
      </div>
    </div>

    您可以了解更多信息https://getbootstrap.com/docs/4.0/components/card/

    【讨论】:

    • 更好的方法:)
    【解决方案3】:

    从 bootstrap 4 alpha 版本开始:

    您还可以使用.card-columns 类包装您的引导程序 4 .cards 类元素以实现@Skelly 提到的“砌体”列效果:

    文档:https://v4-alpha.getbootstrap.com/components/card/#columns

    【讨论】:

      【解决方案4】:

      将此复制到您的 html 上的示例正文,因为这比解释更容易理解。

      <div class="container-fluid">
          <div class="row">
              <div class="col-md-6">
                  <div class="row">
                      <div class="col-md-12" style="height:100px; background-color:red"></div>    
                      <div class="col-md-12" style="height:100px; background-color:yellow"></div>
                      <div class="col-md-12" style="height:100px; background-color:gray"></div>
                  </div>
              </div>
              <div class="col-md-6">
                  <div class="row">
                      <div class="col-md-12" style="height:200px; background-color:blue"></div>       
                      <div class="col-md-12" style="height:100px; background-color:black"></div>
                  </div>
              </div>      
          </div>
      </div>
      

      【讨论】:

        【解决方案5】:

        我可以看到你的列有固定的宽度。 所以你可以写

        <div class="col-xs-4">
          boxes
        </div>
        <div class="col-xs-4">
         boxes
        </div>
        <div class="col-xs-4">
        boxes
        </div>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-06-03
          • 2021-06-16
          • 2012-06-02
          相关资源
          最近更新 更多