什么是重绘和重排(回流)?怎么避免重绘和重排?

**1.什么是重绘和重排(回流)?

重绘:重绘一般是由于元素样式的改变引起的。
重排(回流):重排一般是由于元素的大小和布局的改变,或者节点的增添、删除引起的。

重排一定会引起重绘,重绘不一定会引起重排。

2.怎么避免重绘和重排?
避免重复的使用style改变样式,而是采用className一次性改变属性的方式。
使用createDocumentFragment进行批量的DOM操作。
对于多次重排的元素,如动画,使用绝对定位脱离文档流,让他的改变不要影响到其他的元素。
添加will-change:tranform 让渲染引擎为其单独实现一个图层,当这些变换发生时,仅仅只是利用合成线程去处理这些变换,而不牵扯到主线程,大大提高渲染效率。

你可能感兴趣的:(前端,javascript,开发语言)