什么是重绘与回流?

  • 1.重绘
    简单来说就是重新绘画,当给一个元素更换颜色、更换背景,虽然不会影响页面布局,但是颜色或背景变了,就会重新渲染页面,这就是重绘。
  • 2.回流
    当增加或删除dom节点,或者给元素修改宽高时,会改变页面布局,那么就会重新构造dom树然后再次进行渲染,这就是回流。

总结

1:重绘不会引起dom结构和页面布局的变化,只是样式的变化,有重绘不一定有回流。
2:回流则是会引起dom结构和页面布局的变化,有回流就一定有重绘。
不管怎么说都是会影响性能。

怎么进行优化或减少?

1.多个属性尽量使用简写,例如:boder可以代替boder-width、boder-color、boder-style

2.创建多个dom节点时,使用documentfragment创建

3.避免使用table布局

4.避免设置多层内联样式,避免节点层级过多

5.避免使用css表达式

6.将频繁重绘或回流的节点设置为图层,图层能够阻止该节点的渲染行为影响到别的节点(例:will-change\video\iframe等标签),浏览器会自动将该节点变为图层

————————————————
版权声明:本文为CSDN博主「元元元缘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_64547652/article/details/125690648

你可能感兴趣的:(前端)