网格行间隙不应用百分比

Tv'*_*Own 5 html css css3 css-grid

所以我有一个4x5图像网格,图像可以是各种尺寸,但最大尺寸为180x180px.

<div class="grid">
    <div class="box 1 a"><img src="./assets/Account-Attempt-4-1.gif"></div>
     ...
    <div class="box 5 d"><img src="./assets/really-queer-Christmas1.gif"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的CSS将我的列2.5%分开,但让我的行触摸.这是因为我以像素为单位定义了行高吗?

.grid {
  margin-left: 5%;
  margin-right: 5%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 180px 180px 180px 180px 180px;
  grid-gap: 2.5% 2.5%;
}

.box {
  display: flex;
  align-items: center;
  justify-content: center;
}
Run Code Online (Sandbox Code Playgroud)

Bdl*_*oul 3

如果你想使用百分比,grid-row-gap你的 div 需要一个固定的高度.grid。否则你需要使用px. 示例如下: https: //jsfiddle.net/t53s25us/

.grid {
  margin-left: 5%;
  margin-right: 5%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 2.5% 2.5%;
  height: 200px;
}

.box {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: red;
}
Run Code Online (Sandbox Code Playgroud)
<div class="grid">
  <div class="box 1 a">AAAA</div>
  <div class="box 1 a">AAAA</div>
  <div class="box 1 a">AAAA</div>
  <div class="box 1 a">AAAA</div>
  <div class="box 1 a">AAAA</div>
</div>
Run Code Online (Sandbox Code Playgroud)