
通过css grid避免父容器被撑大
在使用css grid布局时,有时可能希望阻止子元素撑大其父容器。这种情况通常发生在存在超出父容器尺寸的子元素时。
为了保持网格生成的单元格尺寸并隐藏溢出内容,可以采用以下步骤:
- 在网格容器元素上添加 grid-auto-flow: dense; 属性:这将确保网格自动放置网格项,而不会在网格容器和最后一个网格项之间添加空间。
- 在包裹溢出内容的子元素上添加 overflow: hidden; 属性:这将隐藏超出子元素尺寸的内容。
示例:
立即学习“前端免费学习笔记(深入)”;
1100
.app {
width: 100vw;
height: 100vh;
display: grid;
grid-template-rows: 1fr 10fr;
gap: 2vh;
}
.container {
width: 100%;
height: 100%;
background-color: aquamarine;
display: grid;
grid-template-columns: 1fr 1fr;
grid-auto-flow: dense;
gap: 2vh;
overflow: hidden;
}
.box {
overflow: hidden;
}这样,包裹100个div的容器就不会撑大其父容器,溢出内容也会被隐藏。需要注意的是,包裹超出单元格尺寸子元素的容器也需要应用 overflow: hidden; 才能正确隐藏溢出内容。










