【发布时间】:2019-06-20 19:28:00
【问题描述】:
我在这方面已经有一段时间了,并尝试了很多我在不同 Stackoverflow 问题/博客文章中看到的解决方案/...但老实说,我不知道出了什么问题。
我有一个带有两个 div 的 flexed div。顶部 div A 具有固定高度,另一个 div B 使用 flex: 1; 填充其余部分。如果屏幕被调整大小并且小于 A + B 的高度,那么 B 将开始溢出。我希望它滚动,但我也希望滚动时内容完全可见。出于某种我无法理解的原因,如您在my fiddle 的截图中所见,内容呈现在 div B 的顶部:
之前提出的一些问题让我有所了解。例如将主体设置为height: auto;,但是当我的屏幕大于 A + B 时,它就不能再居中对齐了。 min-height: 0; 在这种情况下似乎也没有帮助。
如何确保我的容器溢出但会完全显示其中的内容?
【问题讨论】:
-
因此,如果我理解正确,您希望能够在屏幕尺寸小于 A + B 时滚动浏览所有内容,而不仅仅是能够上下滚动一点并且仍然有你的一些内容被隐藏了?这是正确的还是我错过了什么?
-
当然,当屏幕小于 A + B 时,如果您认为这就是我的意思,就不可能看到整个 A + B。如果您查看我附加的代码笔并调整屏幕大小使其小于容器,我认为您会更好地理解我想要实现的目标。如果然后向上滚动,您将看不到 3 个 div 的顶部。但是,您可以看到底部的 2 个 div(取决于您的屏幕有多小),但现在不可能看到顶部的矩形。我希望能够看到该代码笔中的所有 3 个矩形。
-
我修复了它.. 但是我觉得你投入的 css 比需要的多得多.. 如果你需要更多帮助,请告诉我
-
主要问题是
align-items: centeron.second。删除它并将margin: auto添加到.container,加上flex-shrink: 0到.container-child,你就完成了(你可以删除很多不必要的代码)(revised codepen)。副本中的完整解释。