1.什么叫回流和重绘?
当页面首次加载的操作叫做布局和绘制,重新布局叫做回流,重新绘制叫做重绘。
2.怎样会导致回流和重绘
导致回流:
当页面DOM节点的位置,尺寸,隐藏发生了改变,页面会重新计算尺寸,布局,因此导致了回流。
导致重绘:
当部分元素DOM节点的外观(比如说颜色color)发生改变时,页面会重新绘制(发生改变的部分元素)
频繁的回流和重绘会导致频繁的页面渲染,从而导致cpu使用过量,引起页面卡顿
3.怎样减少回流
避免循环操作DOM,而是新建一个DOM节点,在这个DOM节点上操作,然后在导入到DOM中。
避免逐项的更改style样式,而是一次性将其定义好,定义在一个class中,做一次性加载渲染
将复杂的元通过绝对定位或者固定定位设置位置,使其脱离标准流,从而避免回流导致的布局错乱