试图实现某种具有动态高度的可滚动容器

Trying to achieve some kind of scrollable container with dynamic height

<div> 里面有一些动态内容 - 有时是 table,有时是文本。我正在尝试设置某种容器,如果它的内容对于屏幕来说太大的话,它可以在 y 轴上滚动。

一些谷歌搜索表明,如果您对 divheight 进行硬编码,这很容易做到,但是如果我想避免在任何地方指定确切的像素大小,我应该怎么做?

据我了解,我必须先计算剩余的垂直可见屏幕space,然后将其设置为div height。这似乎是一项相当常见的任务,但我找不到任何组件(不管它们是否 jquery 依赖)可以完成此任务。

有什么建议吗?已经存在的解决方案(插件、库等)是首选。

如果您希望容器高度在与视口高度匹配时开始滚动,您可以只给它 heightmax-height 等于 100vh(100% 视口高度).

如果容器外有其他元素并且它不应该占据全屏高度,您可以使用 calc() 来限制它:

.container { max-height: calc(100vh - 100px); }