为什么相同的CSS网格代码在不同的页面上给出不同的布局?

时间:2018-08-06 14:13:45

标签: html css css-grid

我在两页上有完全相同的CSS(减去颜色变化),但是网格布局在每一页上的响应都不同。我测试了添加更多项并删除一些项,更改了grid-template-layout,但没有任何效果。我确实将确切的代码从工作页面复制并粘贴到非工作页面,并且解决了该问题,但是我经历了所有我能想到的事情,没有发现应该使这两个页面不同的任何东西。

我想要的是:4列,相同的宽度。

我所拥有的:1个页面可以做到这一点。其他页面的第一列较大,第二列中等,最后一列较小。添加列时,最大/中/较小的列属性会随机更改为其他列。

.the-grid {
  padding-bottom: 20px;
  max-width: 1640px;
  margin: auto;
}

.the-grid-layout {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 60px;
  -webkit-align-items: top;
  -webkit-box-align: top;
  -ms-flex-align: top;
  align-items: top;
  max-width: 1640px;
  margin: 0 auto 120px;
  position: relative;
}

.item {
  position: relative;
}

.image-cont {
  background-size: cover;
  width: 100%;
  height: 50px;
  margin-bottom: 20px;
  background-repeat: no-repeat;
}

.heading-cont {
  background-color: rgb(255, 255, 255);
  text-align: center;
  padding: 30px 20px;
  transition: all 0.15s ease-in-out 0s;
}
<section class="the-grid">
  <div class="the-grid-layout">
    <div class="item">
      <a href="/content-url">
        <div class="image-cont" style="background-image:url(http://via.placeholder.com/350x150);"></div>
        <div class="heading-cont">
          <h5 class="heading">Item Title</h5>
        </div>
      </a>
    </div>
    <div class="item">
      <a href="/content-url">
        <div class="image-cont" style="background-image:url(http://via.placeholder.com/350x150);"></div>
        <div class="heading-cont">
          <h5 class="heading">Item Title</h5>
        </div>
      </a>
    </div>
    <div class="item">
      <a href="/content-url">
        <div class="image-cont" style="background-image:url(http://via.placeholder.com/350x150);"></div>
        <div class="heading-cont">
          <h5 class="heading">Item Title</h5>
        </div>
      </a>
    </div>
    <div class="item">
      <a href="/content-url">
        <div class="image-cont" style="background-image:url(http://via.placeholder.com/350x150);"></div>
        <div class="heading-cont">
          <h5 class="heading">Item Title</h5>
        </div>
      </a>
    </div>
    <div class="item">
      <a href="/content-url">
        <div class="image-cont" style="background-image:url(http://via.placeholder.com/350x150);"></div>
        <div class="heading-cont">
          <h5 class="heading">Item Title</h5>
        </div>
      </a>
    </div>
    <div class="item">
      <a href="/content-url">
        <div class="image-cont" style="background-image:url(http://via.placeholder.com/350x150);"></div>
        <div class="heading-cont">
          <h5 class="heading">Item Title</h5>
        </div>
      </a>
    </div>
  </div>
</section>

1 个答案:

答案 0 :(得分:2)

fr的问题在于,它占用了可用空间,并将根据需要对其进行划分。

如果您希望每个部分精确地占据1/4,则使用25%代替1fr

希望有帮助。

PS:别忘了减去差距。