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

CSS Grid平板布局:实现首行1个div、次行2个div并排效果

CSS Grid 多断点布局实现方案

核心实现逻辑

仅靠grid-template-columns无法实现同一网格内不同行列数不一致的效果,需要配合网格子项的跨列属性完成:

  • 平板断点下将网格容器设置为2等分列
  • 让第一个div横跨全部2列,独占第一行,剩余两个div自然排列在第二行各占1列
  • 修正原代码中手机端repeat语法的空格错误,同时补全媒体查询的断点区间,避免平板样式覆盖桌面端3列效果

修正后完整代码

CSS 部分

.outer {
  display: grid;
  /* 可选:gap设置网格项间距,不需要可删除 */
  gap: 16px;
}

/* 手机端:屏幕宽度 <768px 单列排列 */
@media only screen and (max-width:767px) {
  .outer {
    grid-template-columns: 1fr;
  }
}

/* 平板端:屏幕宽度 768px~1023px 第一行1个、第二行2个 */
@media only screen and (min-width:768px) and (max-width:1023px) {
  .outer {
    grid-template-columns: 1fr 1fr;
  }
  /* 第一个子项横跨2列,独占整行 */
  .outer .inner:first-child {
    grid-column: 1 / 3;
  }
}

/* 桌面端:屏幕宽度 ≥1024px 三列同排 */
@media only screen and (min-width:1024px) {
  .outer {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

HTML 部分

原有HTML结构不需要做任何修改,直接复用即可:

<div class="outer">
  <div class="inner">
    <p>I am div 1</p>
  </div>
  <div class="inner">
    <p>I am div 2</p>
  </div>
  <div class="inner">
    <p>I am div 3</p>
  </div>
</div>

注意事项

  • 原代码手机端写法repeat (1, 1fr)中repeat和括号之间多了空格,会导致CSS属性解析失效,直接写1fr或者修正为repeat(1, 1fr)即可生效
  • 断点值1024px为通用平板/桌面分界值,可根据项目实际需求自行调整
  • grid-column: 1 / 3的含义是子项从第1条列网格线开始,到第3条列网格线结束,刚好占满2列宽度,实现独占一行的效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 08:51:28