【发布时间】:2021-07-23 09:53:35
【问题描述】:
我有以下主从布局,我希望左蓝色列和黄色右列滚动。据我所知,我已经设置了一系列嵌套的 flexbox 来实现这种布局。这在 Safari 中运行良好,但不是 Chrome。请参阅CodeSandbox here。我错过了什么?
【问题讨论】:
-
您缺少高度限制。为了触发溢出,需要有一些东西溢出。如果没有固定或最大高度,元素只会根据内容大小扩展或收缩,并且永远不会生成滚动条,因为永远不会发生溢出情况。
-
但高度有限。页面容器受
100vh限制,每个嵌套的flex 容器使用flex: 1扩展至剩余高度。这种技术在 Safari 中运行良好。我猜我缺少一个 Chrome 怪癖。 -
flex: 1不是高度。这只是一个消耗剩余空间的命令。您需要在沿线某处设置flex-basis、height或max-height。
标签: css google-chrome flexbox safari