什么是重绘与回流?

本文介绍了Web渲染中的重绘和回流概念,重绘仅涉及元素样式的改变,而回流会导致DOM结构和布局变化。优化策略包括使用简写属性、利用DocumentFragment、避免table布局等,以减少性能影响。通过设置图层,可以隔离频繁重绘或回流的节点,提高页面渲染效率。
摘要由CSDN通过智能技术生成

什么是重绘和回流

1.重绘

简单来说就是重新绘画,当给一个元素更换颜色、更换背景,虽然不会影响页面布局,但是颜色或背景变了,就会重新渲染页面,这就是重绘。

2.回流

当增加或删除dom节点,或者给元素修改宽高时,会改变页面布局,那么就会重新构造dom树然后再次进行渲染,这就是回流。

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

怎么进行优化或减少?

1.多个属性尽量使用简写,例如:boder可以代替boder-width、boder-color、boder-style
2.创建多个dom节点时,使用documentfragment创建
3.避免使用table布局
4.避免设置多层内联样式,避免节点层级过多
5.避免使用css表达式
6.将频繁重绘或回流的节点设置为图层,图层能够阻止该节点的渲染行为影响到别的节点(例:will-change\video\iframe等标签),浏览器会自动将该节点变为图层

  • 13
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值