css网格中的自动行跨越

joe*_*e_g 8 css css-grid

有没有办法获得自动行跨越(项目占用垂直网格单元的自动数量)?

在我的示例中,我希望单元格 8 自动跨越 2 个(或更多)单元格,而无需明确说span 2. 我一直在寻找如何做到这一点,但似乎不可能。

我想让每个单元格都是 100 像素的倍数,这样最小的单元格是 100 像素,如果内容溢出,它会变成 200 像素高,更多的内容是 300 像素,等等。

换句话说,我希望有一种 css 网格可以自动确定 XX 的方法:

.i {  grid-row: span XX; }
Run Code Online (Sandbox Code Playgroud)

.i {  grid-row: span XX; }
Run Code Online (Sandbox Code Playgroud)
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 2fr));
  grid-auto-flow: dense;
}

.grid div {
  border-left: 1px solid #000;
  border-top: 1px solid #000;
  padding: 10px;
}

.grid div.i {
  grid-row: span 2;
}
Run Code Online (Sandbox Code Playgroud)

https://codepen.io/joe_g/pen/VbLRpN

kei*_*ant 6

不,这在 CSS 网格中目前是不可能的。您必须继续使用span关键字。

您可能必须使用 JavaScript 来检测长内容并动态地向具有更多内容的网格项添加一个类。

  • 谢谢,我做到了:https://github.com/rachelandrew/cssgrid-ama/issues/80。现在它是下一版 css grid 讨论的一部分:https://github.com/w3c/csswg-drafts/issues/1373 (8认同)
  • 我很惊讶他们没有包含此功能。我认为,你必须始终控制内容的长度,这限制了 css 网格的使用。 (5认同)