通过css grid避免父容器被撑大

在使用css grid布局时,有时可能希望阻止子元素撑大其父容器。这种情况通常发生在存在超出父容器尺寸的子元素时。

为了保持网格生成的单元格尺寸并隐藏溢出内容,可以采用以下步骤:

  1. 在网格容器元素上添加 grid-auto-flow: dense; 属性:这将确保网格自动放置网格项,而不会在网格容器和最后一个网格项之间添加空间。
  2. 在包裹溢出内容的子元素上添加 overflow: hidden; 属性:这将隐藏超出子元素尺寸的内容。

示例:

立即学习“前端免费学习笔记(深入)”;

1
<!-- ...假设这里有一百个 div -->
100
登录后复制
.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 中防止子元素撑大父容器?的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部