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

CSS Grid布局疑问:grid-template-areas设置3行却仅显示2行,如何实现目标3行布局?

CSS Grid布局疑问:grid-template-areas设置3行却仅显示2行,如何实现目标3行布局?

嘿,我看了你遇到的grid-template-areas困惑啦,咱们一步步拆解问题~

首先,你想要的目标布局逻辑完全没问题:

'a a b b b'
'a a b b b'
'c c b b b'

你的代码结构其实是正确的,但之所以看起来不像预期的三行布局,核心问题是没有显式定义每行的高度。

Grid默认会用auto作为行高,它会根据单元格的内容和占据的行范围自动调整高度。你的.item1占据了第1、2行的a区域,这两行的高度会被合并成一块适配item1内容的高度,而.item3所在的第3行高度会单独根据自身内容调整,视觉上就会显得不是规整的三行结构。

解决方法很简单,只需要给你的grid-container添加一行代码,强制让每行高度一致:

.grid-container {
  display: grid;
  grid-template-areas: 'a a b b b' 'a a b b b' 'c c b b b';
  grid-template-rows: 1fr 1fr 1fr; /* 新增这行,让三行平分容器高度 */
  grid-gap: 10px;
  background-color: #2196F3;
  padding: 10px;
}

这里用1fr表示每行平分容器的可用高度,你也可以换成固定值比如100px 100px 100px,根据你的需求调整就行。

修改后,你就能清晰看到:

  • .item1占据左上角2×2的方块区域
  • .item2占据右侧3×3的大方块区域
  • .item3占据底部左侧1×2的横向条带

完全符合你想要的布局效果~

备注:内容来源于stack exchange,提问作者Static Bounce

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 10:49:36