重绘和回流(重排)是什么,如何避免?

  • DOM的变化影响到了元素的几何属性(宽高),浏览器重新计算元素的几何属性,其他元素的几何
  • 属性和位置也会受到影响,浏览器需要重新构造渲染树,这个过程称为重排,浏览器将受到影响的部分
  • 重新绘制到屏幕上的过程称为重绘。引起重排的原因有
    • 添加或者删除可见的DOM元素,
    • 元素位置、尺寸、内容改变,
    • 浏览器页面初始化,
    • 浏览器窗口尺寸改变,重排一定重绘,重绘不一定重排,

减少重绘和重排的方法

  • 不在布局信息改变时做DOM查询
  • 使用cssText或者className一次性改变属性
  • 使用fragment
  • 对于多次重排的元素,如动画,使用绝对定位脱离文档流,让他的改变不影响到其他元素
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容