CSS 网格 - 将所有子项保持在一行且间距相等

标签 css css-grid

使用 CSS Grid,当您不知道会有多少个子项时,如何将所有子项保留在一行中?

我需要所有的 child 都有平等的width ,因此,如果有 2 个子级,则每个子级将具有 50% 的宽度,如果有 3 个子级,则每个子级将获得 33.33% 的宽度,依此类推。

.container {
   display: grid;
}

<div class='container'>
   <div>Child 1</div>
   <div>Child 2</div>
   <div>Child 3</div>
   // There maybe 4 or 5 children we don't know
</div>

最佳答案

使用柱流并保留所有尺寸1fr

.grid {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow:column;
}

.grid > div {
  background-color: tomato;
  height: 50px;
  border: 1px solid black;
}
Example 1:

<div class="grid">
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</div>

Example 2:

<div class="grid">
  <div></div>
  <div></div>
</div>

Example 3:

<div class="grid">
  <div></div>
  <div></div>  
  <div></div>
  <div></div>  
  <div></div>
  <div></div>  
  <div></div>
  <div></div>  
  <div></div>
  <div></div>
</div>

关于CSS 网格 - 将所有子项保持在一行且间距相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66385170/

相关文章:

css - 如何修复不跨越整个网格元素的悬停属性?

html - 在 CSS 网格中定位框元素时出现问题

c# - ASP.Net 检查远程文件是否存在

当元素未在列之间准确划分时,CSS 列无法正确堆叠元素

jquery - 包装图像并强制大小相同

html - 当内容达到一定限制时,CSS Grid space-between 无法按预期工作

css - 使网格区域具有相同的高度

html - 使用 border-top 和 border-left 后 max-width 正确地被丢弃了吗?

html - 如何将此 DIV float 到其他 DIV 旁边?

html - 你如何在css中用网格容器填充剩余空间?