首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS网格动态列自动匹配列之间的间隙

CSS网格动态列自动匹配列之间的间隙
EN

Stack Overflow用户
提问于 2022-02-19 15:41:53
回答 2查看 2K关注 0票数 2

我正在尝试youtube.com自适应网格布局。我可以实现使用CSS网格。但是,如果总卡片数量非常少,例如2,卡片的宽度增加,以适应整排。我可以通过设置最大宽度或宽度来避免这种情况,但是,当我更改浏览器窗口的宽度时,卡片上的间隙会发生变化。

如何在不增加卡间距的情况下设置最大宽度?

代码语言:javascript
复制
.grid-layout {
  padding: 0;
  margin: 0;
  list-style: none;
  border: 1px solid silver;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr) );
}

.card {
  background: grey;
  height: 4rem;
  /* Uncommenting below line sets width but gap between card too high*/
  /* max-width: 7rem; */
  padding: 1px;
  margin: 0.5rem;
  line-height: 4rem;
  color: white;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
}
代码语言:javascript
复制
<section class="grid-layout">
    <div class="card">0</div>
    <div class="card">1</div>
    <!-- <div class="card">2</div>
    <div class="card">3</div>
    <div class="card">4</div>
    <div class="card">5</div>
    <div class="card">6</div>
    <div class="card">7</div>
    <div class="card">8</div>
    <div class="card">9</div>
    <div class="card">10</div>
    <div class="card">11</div>
    <div class="card">12</div>
    <div class="card">13</div>
    <div class="card">14</div>
    <div class="card">15</div>
    <div class="card">16</div>
    <div class="card">17</div>
    <div class="card">18</div>
    <div class="card">19</div> -->
  </section>

EN

回答 2

Stack Overflow用户

发布于 2022-02-19 17:02:45

使用值为百分比的grid-gap

代码语言:javascript
复制
.grid-layout {
  list-style: none;
  border: 1px solid silver;
  display: grid;
  grid-gap: 20%;
  grid-template-columns: 1fr 1fr;
}

.card {
  background: grey;
  height: 8rem;
  padding: 1px;
  line-height: 8rem;
  color: white;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
}
代码语言:javascript
复制
<section class="grid-layout">
    <div class="card">0</div>
    <div class="card">1</div>
    <!-- <div class="card">2</div>
    <div class="card">3</div>
    <div class="card">4</div>
    <div class="card">5</div>
    <div class="card">6</div>
    <div class="card">7</div>
    <div class="card">8</div>
    <div class="card">9</div>
    <div class="card">10</div>
    <div class="card">11</div>
    <div class="card">12</div>
    <div class="card">13</div>
    <div class="card">14</div>
    <div class="card">15</div>
    <div class="card">16</div>
    <div class="card">17</div>
    <div class="card">18</div>
    <div class="card">19</div> -->
  </section>

这是你想要的吗?

票数 0
EN

Stack Overflow用户

发布于 2022-02-20 01:31:52

自动填充按照我的预期工作,而不是在列未包装时自动安装。

代码语言:javascript
复制
.grid-layout {
  padding: 0;
  margin: 0;
  list-style: none;
  border: 1px solid silver;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5rem, 1fr) );
}

.card {
  background: grey;
  height: 4rem;
  max-width: 7rem;
  padding: 1px;
  margin: 0.5rem;
  line-height: 4rem;
  color: white;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
}
代码语言:javascript
复制
<section class="grid-layout">
    <div class="card">0</div>
    <div class="card">1</div>
    <!-- <div class="card">2</div>
    <div class="card">3</div>
    <div class="card">4</div>
    <div class="card">5</div>
    <div class="card">6</div>
    <div class="card">7</div>
    <div class="card">8</div>
    <div class="card">9</div>
    <div class="card">10</div>
    <div class="card">11</div>
    <div class="card">12</div>
    <div class="card">13</div>
    <div class="card">14</div>
    <div class="card">15</div>
    <div class="card">16</div>
    <div class="card">17</div>
    <div class="card">18</div>
    <div class="card">19</div> -->
  </section>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71186503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档