CSS Grid 子元素溢出时 overflow 不生效,因容器需明确宽高限制、子项需约束内容尺寸(如 word-break、minmax(0,1fr)),或在子项自身设 overflow 并配固定尺寸。
当 CSS Grid 子元素内容超出容器时,直接设置 overflow: auto 或 overflow: hidden 通常**不会生效**——因为 Grid 容器默认是 overflow: visible,且子项的溢出行为受网格轨道(grid track)尺寸和 min-content 等隐式尺寸规则影响,不是简单加 overflow 就能裁剪或滚动。
Grid 容器必须有**明确的宽高限制**(如 width、height、max-width、max-height),否则即使设了 overflow: auto,它仍会无限撑大,不出现滚动条。
overflow: auto → 无滚动height: 300px; overflow: auto 或 max-height: 300px; overflow: auto
默认情况下,Grid 子项的最小宽度/高度由其内容(如长单词、图片、flex 内容)决定,可能突破列宽/行高。需主动约束:
word-break: break-word
或 overflow-wrap: break-word
max-width: 100%; height: auto
minmax(0, 1fr) 替代 1fr,允许轨道收缩到 0(解决 min-content 阻塞问题)有时希望某个特定子项可滚动(比如一个日志列表),而不是整个 Grid 容器滚动。这时应把 overflow 加在该子项自身,并确保它有固定尺寸:
height: 200px; overflow-y: auto
grid-row: 2 / 3 或放在固定高度的行里)display: flex; flex-direction: column 且未设 height: 100%,否则高度计算失效用 overflow: hidden 裁剪时,注意它只裁剪「绘制」,不改变布局盒模型。若子项仍占据原始空间,可能影响其他格子位置:
display: grid,且该子项未用 grid-column: span n 过度占位align-self: start 或 justify-self: start 控制对齐,减少视觉错位overflow: hidden 处理含阴影、动画或绝对定位子元素的内容,可能意外裁剪