在 CSS 网格中隐藏列

all*_*ded 6 css css-grid

我是 css grid 的新手,我试图弄清楚如何让一列完全消失并强制其他列堆叠。

我基本上希望下面的红色划掉的完全消失,只需将网格中的所有其他东西堆叠成几行。

在此处输入图片说明

使用下面的代码,我想block 4消失。然后我想要块 1/2/3/5/6 堆叠。

.wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(155px, 1fr)) 1fr;
  grid-gap: 10px;
  padding: 0.5rem;
}
Run Code Online (Sandbox Code Playgroud)
<div class="wrapper">
  <div>
    Block 1
  </div>
  <div>
    Block 2
  </div>
  <div>
    Block 3
  </div>
  <div>
    Block 4
  </div>
  <div>
    Block 5
  </div>
  <div>
    Block 6
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

它的代码笔:

https://codepen.io/allencoded/pen/goNYwv

Mic*_*l_B 9

确保每行只能有四个项目:

grid-template-columns: repeat(auto-fill, minmax(20%, 1fr));
grid-gap: 10px;
Run Code Online (Sandbox Code Playgroud)

每个项目的最小宽度为 20%,并且有一个网格间隙(任何长度),每行不能超过四个项目。

然后,隐藏每行中的第四项:

div:nth-child(4) { visibility: hidden; }
Run Code Online (Sandbox Code Playgroud)

https://codepen.io/anon/pen/LeKzzx

grid-template-columns: repeat(auto-fill, minmax(20%, 1fr));
grid-gap: 10px;
Run Code Online (Sandbox Code Playgroud)
div:nth-child(4) { visibility: hidden; }
Run Code Online (Sandbox Code Playgroud)

  • @JPFotoz - 恰恰相反。他们复制了我的答案。 (3认同)