如题,一个固定大小、位置的canvas,对其频繁的绘制,会不会触发页面的reflow?
谢邀!
首先肯定不会引起页面回流
。至于页面重绘
,个人感觉canvas也不会引起,理由重绘和回流都是相对于render tree上的元素而言的,而canvas并未对元素做任何更改,只会引起canvas画布的重绘(关于页面重绘理由有待调研)。
当render tree中的一部分因为元素的规模尺寸,布局,隐藏等改变而需要重新构建。这就称为回流(reflow)。每个页面至少需要一次
回流,就是在页面在第一次加载的时候。在回流的时候,浏览器会使渲染树中受到影响的部分失效,并重现构建这部分渲染树,完成回流后,浏览
器会重新绘制受影响部分到屏幕中,称为重绘。
当render tree中的一些元素需要更新属性,而这些属性只是影响元素的外观,风格,而不会影响布局的,比如background-color。则就叫
称为重绘。
回流必将引起重绘,而重绘不一定引起回流。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
只会重绘,不会回流