如何在 CSS Grid 中防止子元素撑大父容器?
通过css grid避免父容器被撑大
在使用css grid布局时,有时可能希望阻止子元素撑大其父容器。这种情况通常发生在存在超出父容器尺寸的子元素时。
为了保持网格生成的单元格尺寸并隐藏溢出内容,可以采用以下步骤:
- 在网格容器元素上添加 grid-auto-flow: dense; 属性:这将确保网格自动放置网格项,而不会在网格容器和最后一个网格项之间添加空间。
- 在包裹溢出内容的子元素上添加 overflow: hidden; 属性:这将隐藏超出子元素尺寸的内容。
示例:
<div class="app"> <div class="container"> <div class="box"> <div>1</div> <!-- ...假设这里有一百个 div --> <div>100</div> </div> <div></div> </div> </div>
.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; 才能正确隐藏溢出内容。
以上就是如何在 CSS Grid 中防止子元素撑大父容器?的详细内容,更多请关注其它相关文章!