页面的重绘(repaint)与回流(reflow)

简介: 页面的重绘(repaint)与回流(reflow)

1. 回流(reflow)

当dom中render树中的节点或者元素的大小,边距,数量发生变化后,导致页面需要重新构建的过程叫做回流。另外如果浏览器获取某些元素属性也会触发回流,例如:offsetTop,offsetLeft等。

2. 重绘(repaint)

当dom中元素的属性,例如:颜色,字体样式等发生变化时,只需要更改该元素的时候叫做重绘。

3.回流的成本高于重绘

4.回流一定重绘,重绘不一定会回流

5.如何优化

1.避免单个修改节点样式,尽量一次性修改
2.使用DocumentFragment将需要多次修改的DOM元素缓存,修改好后一次性替换
3.将需要多次修改的DOM元素设置成display:none,修改完成后在改回来。
4.避免读取上述的那些属性
5.将复杂的dom节点脱离文档流。
相关文章
|
8月前
|
前端开发
重绘 ( Repaint) 和回流 ( Reflow)
首先了解 重绘 ( Repaint) 和回流 ( Reflow)其实是关乎到浏览器性能的问题 重绘和回流是渲染步骤中的⼀⼩节,但是这两个步骤对于性能影响很大 重绘和回流的过程都需要浏览器耗费大量的计算资源,过多的使用会导致网页性能下降
42 1
|
4天前
|
缓存 JavaScript 前端开发
客户端渲染页面、DOM重绘和回流、避免DOM的回流
客户端渲染页面、DOM重绘和回流、避免DOM的回流
19 0
|
10月前
|
缓存 JavaScript 前端开发
浏览器:重绘(repaint)与回流/重排(reflow)
浏览器:重绘(repaint)与回流/重排(reflow)
59 0
|
前端开发
|
前端开发 JavaScript
解决<canvas />在页面重绘的问题
解决canvas标签在页面重绘的问题
解决<canvas />在页面重绘的问题
|
JavaScript 前端开发
【前端工程师手册】学习回流和重绘(reflow和repaint)
【前端工程师手册】学习回流和重绘(reflow和repaint)
|
Web App开发 缓存 JavaScript
|
缓存 JavaScript 前端开发
页面的回流与重绘
页面的回流与重绘
|
Web App开发 前端开发 JavaScript
影响回流、重绘的 CSS 属性有哪些?
影响回流、重绘的 CSS 属性有哪些?
260 0
影响回流、重绘的 CSS 属性有哪些?
|
JavaScript 前端开发
重绘和重排(回流)
重绘和重排(回流)