【问题标题】:CSS Grid - the column wrap completely fills the last rowCSS Grid - 列换行完全填满最后一行
【发布时间】:2020-07-27 20:32:33
【问题描述】:

我有几列的 CSS 网格。最小列宽为 100 像素。然后我想换行,但是换行后我想在最后一行中的列与其余行中的列一样多。例如,我不想在第一行设置 3 个单元格,在最后一行设置 1 个单元格。

我不想展开最后一行单元格,而是将更多单元格移到最后一行并展开所有单元格

.grid {
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax(100px, 1fr))
    }
 
 .element {
 height: 50px;
 border: 2px solid red;
 }
<div class="grid">
  <div class="element"></div>
  <div class="element"></div>
  <div class="element"></div>
  <div class="element"></div>
</div>

【问题讨论】:

  • 您需要为此进行媒体查询

标签: css css-grid


【解决方案1】:

你可以使用弹性盒子来代替

<div class="flex">
  <div class="element"></div>
  <div class="element"></div>
  <div class="element"></div>
  <div class="element element-100"></div>
</div>
.flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.element {
  flex: 1 0 100px;
  height: 50px;
}
.element-100 {
  flex: 0 0 100%;
}

【讨论】:

  • 对不起,我不需要扩展最后一行单元格,而是将更多单元格移动到最后一行并扩展所有单元格宽度
  • 哦,好吧,我看到你澄清了你的问题,在这种情况下,你将不得不使用媒体查询(如果元素的数量总是已知的)或者如果数字是动态的,则可能使用 javascript,没有简单的解决方案。
猜你喜欢
  • 1970-01-01
  • 2020-07-31
  • 2021-03-02
  • 2017-09-25
  • 1970-01-01
  • 2020-06-09
  • 1970-01-01
  • 2018-02-26
相关资源
最近更新 更多