javascript - 大型 HTML 表格在 Chrome 中滚动缓慢

标签 javascript html google-chrome

所以我今天在 Google Chrome 中发现了一些奇怪的行为。

当您将包含数万行的表格放置在固定高度 div 内时(当有足够的数据时强制它滚动),它滚动得非常慢。 10,000 行时它非常缓慢,100,000 行时它几乎无法使用。但是,在 Firefox IE 上,无论数据量如何,表格都会正常滚动。

为了您的快速浏览乐趣,我制作了一个 plunker。您可以调整生成的数据量并亲自查看浏览器如何响应。

https://plnkr.co/edit/3jvTtbk6B837uJsXiP2e?p=preview

同样重要的是要注意,当允许 div 超出屏幕边缘时,这不是问题。只有在 div 上设置了 max-heightoverflow: scroll CSS 属性时才会发生这种情况。

有没有人遇到过这种情况?这是一个已知的问题?谢谢!

编辑:清晰度

最佳答案

我可以证实你的观察:看起来 IE 和 Firefox 正在做一些优化的渲染(大概是通过使用硬件加速),但 Chrome 没有。

而且我不同意其他答案,指出您必须使用较小的表格,因为与其他浏览器相比,Chrome 的速度变慢是可以观察到的,即使表格更小,只有几百行,但内容更复杂。

您可以强制 Chrome 在此处使用优化渲染

transform: translate3d(0, 0, 0);

参见 Sluggish scroll behaviour of large(ish) html table in Google Chrome

关于javascript - 大型 HTML 表格在 Chrome 中滚动缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45882937/

相关文章:

javascript - Onbeforeunload 不适用于 Chrome/Firefox,但适用于 IE

html - 资源解释为样式表,但使用 MIME 类型 text/html 传输(似乎与 Web 服务器无关)

google-chrome - 通过 URL 调用特定浏览器

javascript - 你如何在 JSX 模板文字中取消转义 '\'?

javascript - Jquery UI slider 和百分比不起作用

javascript - HTML5 Canvas 绘图历史

javascript - 单击表格行上的任意位置,它会检查其在...中的复选框?

javascript - jquery ajax 改变样式表

javascript - 如何通过对象传递 props

javascript - JQuery - 嵌套循环问题