flex 元素内的 css 网格元素不会溢出容器

标签 css flexbox css-grid

我有一个 flex 容器,有 2 个 child 。

其中一个设置为 flex-grow: 1,以占用尽可能多的空间。 另一个 child 不适合它的内容(我试过 flex-shrink: 0),内容是一个 CSS 网格。

enter image description here

我怎样才能让两个 child 都拥有各自内容的最小宽度,同时保持一个 child 占据尽可能多宽度的当前结构?

codepen

最佳答案

这种风格是错误的

ninja-manager .ninja-manager__not-active__inner {
    display: grid;
    grid-template-columns: 50% 50%;
    grid-column-gap: 30px;
}

因为它为列提供了总宽度的 50%,而另一方面,您在列之间设置了间隙。您使用的总宽度大于可用宽度。

把它改成这样,你在考虑到间隙后使用可用空间的地方:

ninja-manager .ninja-manager__not-active__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 30px;
}

forked codepen

关于flex 元素内的 css 网格元素不会溢出容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49963959/

相关文章:

html - 在移动 View 中折叠网格项时避免双重网格间隙

CSS 网格列未按预期开始和结束

CSS - 出现在 UL 外部的下拉菜单

html - 隐藏 div 之外的文本

html - 更改 div :before on mouse over another div is not working 的内容

css - 如何缩进子 UL 元素

html - 移动布局中的 Div 顺序 - Bootstrap 4 行和列

CSS 网格 : fractions within fractions

html - React/Flexbox/SPA/无滚动条 : Trouble segmenting page into header/content/footer that takes up the whole page

css - Bootstrap 4/Flexbox IE11 错误