一、什么是回流?

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

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

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,改变子节点的样式。


EvanYY
4 声望2 粉丝

normal