基本上来说,reflow有如下的几个原因:
  · 网页初始化增加、删除、修改DOM结点时
  · 移动DOM位置或操作动画时
  · 一些Javascript在操作DOM Tree时
  · Resize窗口或滚屏时
  · CSS的样式发生变化时
  · 修改网页默认字体时
  但是display:none会触发reflow,而visibility:hidden只会触发repaint,因为没有发现位置变化
  可能出现的bug
  当然,如果只是介绍上面的内容,我也不用白费工夫了,因为网上一搜一大片,主要的是想说说可能会遇到的bug:
  · 因图片未设置宽和高而又加载失败时可能会影响到页面样式;
  · 未设置宽高的图片在加载完后需reflow会影响页面性能
  · 待页面未完全加载完时去操作页面重要的功能,可能会因JS加载顺序问题无法正确执行,从而功能异常
  · 操作浏览器放大缩小resize窗口,可能会出现样式问题
  · 是否有遇到某一个样式或图片在加载过程中闪现,但是加载完后消失了