Bootstrap网格系统-根据大小更改列

时间:2018-07-07 20:25:01

标签: html css grid bootstrap-grid

我正在尝试使网格系统的行为类似于此页面上的内容:http://weibergmedia.com/demos/yk

您可以看到网格根据窗口大小完全重新排列;当窗口尺寸特别小时,保留列大小,直到它们基本上是col-xs-12。

任何使我朝正确方向工作的指针将不胜感激。我目前唯一能想到的就是编写一个复杂的JavaScript来复制行为。

1 个答案:

答案 0 :(得分:1)

您可以使用同位素实现此目的。 将其与Bootstrap网格系统一起使用将如下所示:

var elem = document.querySelector('.grid');
var iso = new Isotope( elem, {
  // options
  itemSelector: '.grid-item',
  percentPosition: true
});
.box {
  background-color: tomato;
  width: 100%;
  height: 100%;
}

.grid-item {
  height: 255px;
  margin-bottom: 30px;
}
<script src="https://unpkg.com/isotope-layout@3/dist/isotope.pkgd.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<div class="container">
  <div class="row grid">
    <div class="grid-item col-sm-3">
      <div class="box">Box 1</div>
    </div>
    <div class="grid-item col-sm-3 col-lg-6">
      <div class="box">Box 2</div>
    </div>
    <div class="grid-item col-sm-3">
      <div class="box">Box 3</div>
    </div>
    <div class="grid-item col-sm-3 col-md-6">
      <div class="box">Box 4</div>
    </div>
    <div class="grid-item col-sm-3">
      <div class="box">Box 5</div>
    </div>
    <div class="grid-item col-sm-3">
      <div class="box">Box 6</div>
    </div>
  </div>
</div>