You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tailwind CSS Grid布局问题:如何将第二张图片移至第二行

调整Grid布局实现目标图片排列

你需要实现的目标布局:
目标布局

当前代码中第二张小图和第一张并排第一行,是因为网格默认按行优先的自动流排列。要把第二张小图移到第二行,只需给它的容器添加row-start-2(Tailwind 布局类),指定其从第二行开始渲染。

修改后的React代码

<div className="grid grid-rows-2 grid-cols-4 gap-5">
  <div className="col-span-1 row-span-1">
    <img src="/assets/product-xx99-mark-two-headphones/desktop/image-gallery-3.jpg" />
  </div>

  <div className="col-span-1 row-span-1 row-start-2">
    <img src="/assets/product-xx99-mark-two-headphones/desktop/image-gallery-3.jpg" />
  </div>

  <div className="col-span-2 row-span-2">
    <img src="/assets/product-xx99-mark-two-headphones/desktop/image-gallery-3.jpg" />
  </div>
</div>

可运行演示代码

CSS 样式

.grid {
  width: 100%;
  height: 15rem;
}

.img {
  background-color: #ccc;
  width: 100%;
  height: 100%;
}

/* Tailwind 核心样式模拟 */
.grid { display: grid; }
.grid-rows-2 { grid-template-rows: repeat(2, 1fr); }
.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
.gap-5 { gap: 5px; }
.col-span-1 { grid-column: span 1 / span 1; }
.col-span-2 { grid-column: span 2 / span 2; }
.row-span-1 { grid-row: span 1 / span 1; }
.row-span-2 { grid-row: span 2 / span 2; }
.row-start-2 { grid-row-start: 2; }

HTML 结构

<div class="grid grid-rows-2 grid-cols-4 gap-5">
  <div class="col-span-1 row-span-1">
    <div class="img"></div>
  </div>

  <div class="col-span-1 row-span-1 row-start-2">
    <div class="img"></div>
  </div>

  <div class="col-span-2 row-span-2">
    <div class="img"></div>
  </div>
</div>

原理说明

网格默认采用行优先的自动排列规则,会先填满第一行的可用空间再换行。通过给第二张小图的容器设置row-start-2,强制它从第二行的起始位置布局,此时第一行仅容纳第一张小图和右侧的大图片(大图片跨2行2列),第二行则容纳第二张小图和大图片的下半部分,完美匹配目标布局。

内容的提问来源于stack exchange,提问作者sgledhill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 09:28:21