CSS网格将网格区域与内容相适应[重复]。

问题描述 投票:0回答:1

我使用Grid已经有一段时间了,但有一件事我还是不太能理解,那就是在使用双列布局时,有时一列的内容会迫使另一列的内容在下面有很大的空隙,因为第一列的内容比较长。当使用两列布局时,有时一列的内容会迫使另一列的内容在下面有很大的空隙,因为第一列的内容比较长。有没有办法让每个网格单元格垂直收缩以适应该单元格的内容?请看所附的示例片段。

.parent {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  max-width: 300px;
}

.child {
  border: 1px solid #000;
}
<div class="parent">
  <div class="child">
   Content Content Content
  </div>
  <div class="child">
    Content Content Content Content Content Content Content
  </div>
  <div class="child" id="child2">
    Content Content Content
  </div>
  <div class="child">
    Content Content Content
  </div>
</div>

在这个片段中,你会看到左上角网格区域的内容由于右上角的内容较长,下面有很大的空隙。有没有办法让它缩小来消除这个空隙呢?不过我并不完全确定仅用Grid就能做到这一点。

html css grid
1个回答
-1
投票

你可以在.child内添加另一个div,并应用边框。不知道这是否是你的目标。

.parent {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  max-width: 300px;
}

.child>div {
  border: 1px solid #000;
}
<div class="parent">
  <div class="child"><div>Content Content Content</div></div>
  <div class="child"><div>Content Content Content Content Content Content Content</div></div>
  <div class="child"><div>Content Content Content</div></div>
  <div class="child"><div>Content Content Content</div></div>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.