说简单的人话,能听懂的:
重绘:就是当页面上的宽高,布局,显示或者隐藏没有改变,但是颜色啊什么的元素风格发生改变就是重绘。
回流:就是页面上的宽高布局等基本骨架发生改变的时候就叫做回流。
定义概念: 重绘不一定会触发回流,而回流一定会触发重绘。
那是不是可以这样想,重绘就只改变外观风格,而不改变骨架,所以就对优化渲染要好一点,而回流改变基本骨架和外观风格,就会对优化渲染不太友好,所以要尽量避免回流。
如何避免回流呢:
1不要使用table 布局,因为table 的每一个行甚至每一个单元格的样式更新都会导致整个table 重新布局
2动画的速度按照业务按需决定
3.用transform 代替 top,left ,margin-top, margin-left... 这些位移属性
4.不要使用 js 代码对dom 元素设置多条样式,选择用一个 className 代替之。
.....
具体的方法还有很多,大家一起探索!