【问题标题】:Chrome doesn't adjust bottom of document to bottom of window when element gets hidden当元素被隐藏时,Chrome 不会将文档底部调整到窗口底部
【发布时间】:2013-08-24 19:53:58
【问题描述】:

我隐藏了一个 div(在页面底部),这会导致文档的整体高度缩小。

当我在隐藏 div 之前一直向下滚动到页面底部时,Chrome 会正确地将文档底部调整到窗口底部。

当我没有一直向下滚动但在隐藏 div 之前至少在窗口底部边缘下方留下一个像素时,Chrome 不会将文档底部调整到窗口底部。相反,文档缩小并低于 Chrome 的灰色织物背景显示。然后,只要我滚动页面至少一个像素,Chrome 就会再次将文档调整到窗口。

这可以通过 Chrome 的开发工具在任何网站上复制。几乎(!)向下滚动到底部,选择任何元素并设置display:noneheight:0

我在 OS X 10.8.4 上使用 Chrome 29。这是一个已知的错误吗?

一种解决方法是使用 jQuery 的 scrollTop 函数在隐藏元素后向上滚动一个像素。然后 Chrome 会调整文档。

var y = $(window).scrollTop();
$(window).scrollTop(y-1);

现在,当我想使用 jQuery 的 slideToggle() 隐藏元素时,它变得很棘手。有什么想法吗?

【问题讨论】:

  • 能否请您发布您的 HTML、JavaScript 和 CSS 代码?我只是在这个问题页面上将页脚元素设置为“显示:无”,我没有看到 Chrome 行为不端。
  • 我这边不需要特定的代码。我在这个网站的页脚元素上也遇到了这种不当行为。确定你没有一直向下滚动?你也在 OS X 上吗?
  • 我确定我没有一直滚动到底部,因为我试图重新创建您描述的行为。我不在 OS X 上(我使用的是 Linux),所以这很可能是 OS X 特有的错误。您可能需要将此情况报告给浏览器供应商。

标签: jquery html css google-chrome


【解决方案1】:

既然我们似乎已经验证了它,是的,这是一个已知的错误;)请务必在您向浏览器供应商的报告中​​提及跨操作系统的行为不一致。

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多