https://segmentfault.com/a/1190000017329980
重排一定会导致重绘,但是重绘不一定导致重排
重排
dom发生变化,影响了元素的几何信息(位置和尺寸大小),会引发重排
- 页面渲染初始化
- 添加或删除dom
- 元素位置改变
- 元素尺寸改变(宽高、内外边距、边框厚度等)
- 浏览器窗口尺寸改变
重绘
元素外观发生变化,会引起重绘
- 颜色
减少重排和重绘
- 减少直接操作dom,改用className控制
- 减少table使用,table属性改变,会直接导致布局重排
- 对于复杂的动画效果,让他脱离文档流