设置高度的建筑网格

时间:2019-02-19 13:47:50

标签: html css twitter-bootstrap

我正在尝试从Bootstrap 3模板中汲取灵感来构建网格系统:

Link to template

我在代码中看到,通过设置高度可以控制4个大网格元素。我可以创建前2个网格项,但是现在迷失了如何创建2个小列。

2 columns

这是我到目前为止编写的代码:

[链接到我的演示模型] [3]

<style>
    .bg-img {
      background-position: center center;
      background-size: cover;
      background-repeat: no-repeat; 
    }

    .item1 {
        height:600px;
    }

    .item2 {
        height:300px;
    }

    .item3 {
        height: 300px;
    }
</style>

<section>
    <div class="container-fluid">
        <div class="row">
            <div class="col-sm-6 bg-img item1" style="background-image:url(https://placehold.it/600x600;)"></div>
            <div class="col-sm-6 bg-img item2" style="background-image:url(https://placehold.it/300x600;)"></div>
        </div>
    </div>
</section>

有人可以帮助我吗?

最诚挚的问候。

2 个答案:

答案 0 :(得分:0)

我希望这段代码对您有所帮助。我是通过Grid CSS做到的。

.grid-container {
  display: grid;
  grid-gap: 10px;
  background-color: #2196F3;
  padding: 10px;
}

.grid-item {
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 20px;
  font-size: 30px;
}

.item1 {
  grid-column: 1 / span 2;
  grid-row: 1;
}

.item2 {
  grid-column: 3;
  grid-row: 1 / span 2;
}
<div class="grid-container">
  <div class="grid-item item1">1</div>
  <div class="grid-item item2">2</div>
  <div class="grid-item item3">3</div>  
  <div class="grid-item item4">4</div>
</div>

答案 1 :(得分:0)

我希望这能解决您的问题。

我用一个简单的background-color替换了您的图片,但总的来说,它应该可以完全响应。 (这不是100%完美的-容器比容器宽)

一些有用的链接:bootstrap overviewbootstrap grid

注意:全页查看示例:)

body {
  padding: 15px;
}

.item-1 {
  height: 600px;
  background: blue;
}

.item-2 {
  height: 600px;
  padding-right: 0;
  /* container right */
  background-color: white;
}

.item-3 {
  height: 292.5px;
  margin-bottom: 7.5px;
  background-color: green;
}

.item-4 {
  padding: 0 15px;
}

.item-5 {
  height: 292.5px;
  margin-top: 7.5px;
  border-right: 7.5px solid white;
  background-color: purple;
}

.item-6 {
  height: 292.5px;
  margin-top: 7.5px;
  border-left: 7.5px solid white;
  background-color: yellow;
}

/* Small devices (landscape phones, less than 768px) */

@media (max-width: 767.98px) {
  .item-2 {
    padding: 0 !important;
    margin: 0;
    height: auto;
  }
  .item-3,
  .item-5,
  .item-6 {
    border: 0;
    padding: 0;
    margin: 0;
    height: 300px;
  }
  /* To prevent responsiveness issue, caused by .row bootstrap class */
  .no-margin {
    margin: 0;
  }
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" rel="stylesheet"/>

<div class="container-fluid">
  <div class="no-margin row">
    <div class="item-1 col-md"></div>
    <div class="item-2 col-md">
      <div class="item-3 col-md"></div>
      <div class="item-4 row">
        <div class="item-5 col-md"></div>
        <div class="item-6 col-md"></div>
      </div>
    </div>
  </div>
</div>