html - 子 div 是可滚动的,但在子内添加内容时 body 的高度仍然增加

标签 html css scroll

我的 HTML 页面中有一个 div,它有 overflow-y: scroll;,这似乎工作得很好。

但是当我向这个可滚动的子页面添加内容时,我页面的 body 的高度增加了,现在整个页面都可以滚动了。但是向下滚动页面会显示空的背景颜色空间。

就好像 body 正在为可滚动子项内的内容分配空间,尽管该子项是可滚动的,因此不需要 body 分配此空间。

是否存在导致此问题的样式属性,是否存在可以解决此问题的样式属性(或删除属性)?


编辑: 作为线索,我的可滚动子元素有 display: flex;,当我将它更改为 display: block; 时,它的新位置正好延伸到底部body 的额外空间。所以就好像 body 的行为就好像子 divdisplay: block;,忽略了它的实际 display 值。

最佳答案

据我了解,您在父元素内有一个子元素。您希望子元素可滚动,但父元素不可滚动。是吗?

很多情况下,只加overflow-y:scroll;到子元素可能还不够。

尝试添加 overflow-y: hidden;到父元素,并为您的子元素设置最大高度。

这应该可以解决问题。 干杯:)

关于html - 子 div 是可滚动的,但在子内添加内容时 body 的高度仍然增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51911029/

相关文章:

javascript - JavaScript 中严格的 HTML 解析

html - 使用 HTML 生成的 pdf 第二页上的重叠标题

javascript - jquery 单击一个隐藏的复选框

javascript - Scrollspy - 将导航栏页面链接到外部网址时页面困惑

javascript - 继续图像的滚动效果吗?

javascript - 屏幕滚动后的 div 容器

javascript - 我无法将 html 表格导出为 Excel xls 格式

javascript - 如何从调用函数的元素向 JavaScript 函数传递参数?

css - 动态网页上的Html5无限滚动

javascript - 使用下拉菜单自动更改代码