-
浏览器渲染原理
- html代码会被解析成dom树,同时css代码会解析成css规则树
- dom树和css规则树会组合成渲染树
- 我们浏览器就会根据渲染树来进行绘制
-
重绘 代码发生了变化只造成渲染树的改变,就会发生重新绘制,一般指是color,background-color
-
回流 代码直接造成DOM树的改变,也间接导致渲染树重新绘制,一般指是尺寸相关,以及display
-
重绘不一定会导致回流,回流一定会造成重绘
-
如何减少重绘和回流
- 当我们需要给DOM树上添加一堆的DOM节点的时候,可以用DocumentFragment www.cnblogs.com/echolun/p/1…
- 如果你要改变多个属性,最好将这些属性定义在一个class中,直接修改class名,这样只用引起一次回流
- 尽量让有动画的元素脱标(脱离文档流),避免对其他元素造成影响
- 多使用一些CSS3属性比如像transform,因为这些属性会开启gpu硬件加速,不会导致回流