web页面的回流,认识与避免

  一、什么是回流?

  回流是会导致页面重新渲染的一些元素,从而影响性能。

  二、哪些因素会导致回流?

  1、调整窗口的大小;

  2、改变字体,如果用rem  设置了根目录的字体大小,这样就减少了回流的次数;

  3、增加或者移除样式表;

  4、内容的变化,用户在input中输入了文字(这是不可避免的);

  5、激活CSS的伪类;

  6、操作class属性;

  7、基本操作DOM(包括js中的domcument等);

  8、计算offsetWidth与offsetHeight 属性,获取元素在窗口中的位置;

  9、在html代码中直接设置style 属性的值,这个降低了代码的利用率,还影响性能。

三、如何避免回流?

1、如果想设定元素的样式,直接改变class名,而不是改变class中的某个特定的属性,比如height,weight;

2、避免设置多项内联样式,就是说少使用style;

3、应用元素动画的时候,使用属性的position属性的fixed值或absolute值;

4、避免使用table布局;

5、尽量在DOM树的最末端改变class,改变子节点的样式。

原文地址:https://www.cnblogs.com/leyan/p/6085351.html