隐式CSS网格是否可以使用这种布局?

发布于 2025-02-01 22:16:06 字数 2080 浏览 0 评论 0原文

我正在使用隐式CSS网格: 网格 - 板块列:1FR 1FR;

是否可以使其看起来像曲折的布局?喜欢:

<image> <text>
<text> <image>
<image> <text>
<text> <image>
<image> <text>
<text> <image>
<image> <text>
<text> <image>
...

我在这里制作了一支笔: https://codepen.io/stdusan/pen/pen/pen/pen/pen/pen >

body {
  padding: 50px;
}

div {
  padding: 20px;
}

.image {
  background: red;
  padding: 20px;
}

.text {
  background: #ddd;
  padding: 20px;
}

.grid {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr;
}
<div class="grid">
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
</div>

I'm using implicit CSS grid with:
grid-template-columns: 1fr 1fr;

Is it possible to make it look like a zigzag layout? Like:

<image> <text>
<text> <image>
<image> <text>
<text> <image>
<image> <text>
<text> <image>
<image> <text>
<text> <image>
...

I made a pen here: https://codepen.io/stdusan/pen/yLvPKNb

body {
  padding: 50px;
}

div {
  padding: 20px;
}

.image {
  background: red;
  padding: 20px;
}

.text {
  background: #ddd;
  padding: 20px;
}

.grid {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr;
}
<div class="grid">
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
</div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

自演自醉 2025-02-08 22:16:06

是的

.image {
  background: red;
  padding: 20px;
}

.text {
  background: #ddd;
  padding: 20px;
}

.grid {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr;
  grid-auto-flow: dense; /* this */
}

.image:nth-child(4n + 3) {
  grid-column: 2; /* and this */
}
<div class="grid">
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
</div>

Yes

.image {
  background: red;
  padding: 20px;
}

.text {
  background: #ddd;
  padding: 20px;
}

.grid {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr;
  grid-auto-flow: dense; /* this */
}

.image:nth-child(4n + 3) {
  grid-column: 2; /* and this */
}
<div class="grid">
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
  <div class="image"><img src="https://picsum.photos/200/200" alt=""></div>
  <div class="text">Some text</div>
</div>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文