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

如何创建不同行含不同数量元素的CSS Grid布局

实现第一行3个、第二行2个的响应式网格布局

下面提供两种常用的CSS实现方案,均能满足需求并支持响应式适配:

方案一:Grid布局(推荐,更直观的网格控制)

HTML结构

<div class="grid-container">
  <div class="grid-item">Item 1</div>
  <div class="grid-item">Item 2</div>
  <div class="grid-item">Item 3</div>
  <div class="grid-item">Item 4</div>
  <div class="grid-item">Item 5</div>
</div>

CSS代码

.grid-container {
  display: grid;
  /* 定义3列等宽网格 */
  grid-template-columns: repeat(3, 1fr);
  /* 元素之间的间距 */
  gap: 1rem;
  padding: 1rem;
}

/* 选中第4、5个元素,让它们各占1.5列,填满3列宽度实现居中 */
.grid-item:nth-child(n+4) {
  grid-column: span 1.5;
}

/* 小屏幕适配:每行显示2个元素 */
@media (max-width: 768px) {
  .grid-container {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-item:nth-child(n+4) {
    grid-column: span 1;
  }
}

/* 超小屏幕适配:每行显示1个元素 */
@media (max-width: 480px) {
  .grid-container {
    grid-template-columns: 1fr;
  }
}

方案二:Flex布局(灵活度高,适合简单换行场景)

HTML结构

<div class="flex-container">
  <div class="flex-item">Item 1</div>
  <div class="flex-item">Item 2</div>
  <div class="flex-item">Item 3</div>
  <div class="flex-item">Item 4</div>
  <div class="flex-item">Item 5</div>
</div>

CSS代码

.flex-container {
  display: flex;
  /* 自动换行 */
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem;
  /* 让行内元素居中对齐 */
  justify-content: center;
}

/* 前3个元素各占1/3宽度,减去间距 */
.flex-item {
  flex: 0 0 calc(33.333% - 1rem);
}

/* 后2个元素各占1/2宽度 */
.flex-item:nth-child(n+4) {
  flex: 0 0 calc(50% - 1rem);
}

/* 小屏幕适配:每行显示2个元素 */
@media (max-width: 768px) {
  .flex-item {
    flex: 0 0 calc(50% - 1rem);
  }
  .flex-item:nth-child(n+4) {
    flex: 0 0 calc(50% - 1rem);
  }
}

/* 超小屏幕适配:每行显示1个元素 */
@media (max-width: 480px) {
  .flex-item {
    flex: 0 0 100%;
  }
}

说明

  • Grid布局更适合复杂网格场景,代码逻辑清晰,容易调整元素的行列位置;
  • Flex布局则更轻量,适合快速实现简单的换行居中效果;
  • 两种方案都通过媒体查询实现了响应式适配,可根据实际需求选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:57:35