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

时间:2018-06-28 18:46:56

标签: javascript html css frontend web-frontend

我有<div>,里面有一些动态内容-有时是表格,有时是文本。我正在尝试设置某种容器,如果其内容对于屏幕而言太大,则可以在y轴上滚动。

有些谷歌搜索表明,如果您对height中的div进行硬编码,那么这样做很简单,但是如果要避免在任何地方指定确切的像素大小,该怎么办?

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

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

1 个答案:

答案 0 :(得分:1)

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

如果容器之外还有其他元素,并且不应占据整个屏幕高度,则可以使用calc()来限制它:

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