html - 使用 CSS Grid 设置最小和最大列数

标签 html css css-grid

我有 10 个 div(64px x 64px),我想最多显示 5 列(对于大和超大视口(viewport))和最少 3 列(对于 iPhone 7 等小视口(viewport))。

我正在尝试使用 CSS Grid 执行此操作,但无法执行最小列部分(即使有空间容纳 3 个列,它也会变为 2 列)。

body {
  background-color: wheat;
}

.parent {
  display: grid;
  grid-gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(100px, 140px));
  max-width: 800px;
}

.child {
  height: 64px;
  width: 64px;
  background-color: brown;
}
<body>
  <div class="parent">
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
  </div>
</body>


网格容器的最大宽度为 800 像素。

这是 Codepen 的链接

编辑:如果可能,我只想使用 CSS Grid 完成此操作,即不使用媒体查询或 Flexbox。

最佳答案

您可以使用 @media 获得所需的输出使用的查询 grid-template-columns: repeat(5, 1fr);用于大型设备和 grid-template-columns: repeat(3, 1fr) ;用于小型设备

body {
  background-color: wheat;
}

.parent {
  display: grid;
  grid-gap: 10px;
  grid-template-columns: repeat(5, 1fr);  
}

.child {
  height: 64px;
  width: 64px;
  background-color: brown;
}

@media(max-width:540px){
  .parent {
     grid-template-columns: repeat(3, 1fr);
  }
}
<body>
  <div class="parent">
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
  </div>
</body>

关于html - 使用 CSS Grid 设置最小和最大列数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52417889/

相关文章:

html - 使用图像自定义 CSS 网格边框

javascript - 点击按钮后 polymer 变化功能

html - 在单个网页中多次显示浅色图像时的 Base64 编码或经典 url

jquery - 向左放置一个 div :0 of window (not parent)

html - 如何在不冲突的情况下将两个 div 对齐?

html - 列何时收缩到其最大值以下?

html - 在 Safari 中,align-self 未将容器中的内容与高度 100% 对齐

javascript - 如何使用 JavaScript 将选定的 HTML 表格行值显示到输入类型单选和复选框中

javascript - 仅将类添加到一个 div

css - 如何实现一个css图片网格系统