-
DOM的变化影响到了元素的几何属性(宽高),浏览器重新计算元素的几何属性,其他元素的几何
-
属性和位置也会受到影响,浏览器需要重新构造渲染树,这个过程称为重排,浏览器将受到影响的部分
-
重新绘制到屏幕上的过程称为重绘。引起重排的原因有
添加或者删除可见的DOM元素,
元素位置、尺寸、内容改变,
浏览器页面初始化,
浏览器窗口尺寸改变,重排一定重绘,重绘不一定重排,
减少重绘和重排的方法:
- 不在布局信息改变时做DOM查询
- 使用cssText或者className一次性改变属性
- 使用fragment
- 对于多次重排的元素,如动画,使用绝对定位脱离文档流,让他的改变不影响到其他元素