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

为何CSS Grid的gap属性会影响fr单位的布局效果?

原因解释

这是因为fr单位的计算逻辑是基于网格容器的可用空间——即容器总尺寸减去gap、内边距等占用空间后的剩余部分,而你的布局里,区块e跨了3行(对应a、b、c的三行),区块f单独占第4行。

无gap时,3行1fr的总高度 + 1行3fr的高度 = 容器总高度,此时3*1fr刚好等于3fr,所以e和f高度完全一致。

但添加gap:10px后,行与行之间会产生垂直间隙:

  • e跨的三行之间有2个垂直gap(10px×2),这些gap会被算进e的总高度里
  • f所在的第4行是单行,没有内部的行间隙

而fr只负责分配网格轨道的高度,不包含gap。具体来说:
容器剩余高度(总高度减去3个垂直gap的总和)会按1fr+1fr+1fr+3fr的比例分配,3个1fr轨道的总高度和1个3fr轨道的高度是相等的,但e的总高度还要加上它内部的2个gap,所以最终e的高度会比f多出20px,导致两者高度不一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 08:29:54