重绘(redraw)和重排(reflow)
重绘:是一个元素的外观变化所引发的浏览器行为;例如改变visibility、outline、背景色等属性。
重排:是引起DOM树重新计算的行为;
引发重排:
1.添加、删除可见的dom
2.元素的位置改变
3.元素的尺寸改变(外边距、内边距、边框厚度、宽高、等几何属性)
4.页面渲染初始化
5.浏览器窗口尺寸改变
升华版:
dom树的结构变化 (添加、删除dom)
获取某些属性 offsetTop、offsetLeft、 offsetWidth、offsetHeight、scrollTop、scrollLeft、scrollWidth、scrollHeight、clientTop、clientLeft、clientWidth、clientHeight
改进的方法:
1.将多次dom修改合并成一次操作
2.多次重排的元素,先脱离文档流,在修改
3.display属性为none,减少重排
4. 在需要经常获取那些引起浏览器重排的属性值时,要缓存到变量
参考地址:http://kb.cnblogs.com/page/169820/
页面重绘和回流以及优化 – WEB前端开发 – 专注前端开发,关注用户体验
转载自:https://blog.csdn.net/NeroSolomon/article/details/79507009