经典面试题---回流?重绘?如何优化?

回流和重绘是由于浏览器的再次渲染所引起的一个话题,我们首先要知道浏览器的渲染过程:

通常来说,渲染引擎会解析HTML文档来构建DOM树,与此同时,渲染引擎也会用CSS解析器解析CSSDOM树。接下来,DOM树和CSSDOM树关联起来构成渲染渲染树(render tree),然后浏览器根据渲染树布局,渲染整个页面。

在这里插入图片描述

回流:当渲染树(render tree)的一部分或者全部元素因为尺寸,布局,显示和隐藏,或者元素内部的文字结构发生变化,导致页面需要重新构建页面的时候,回流就产生了。
重绘:当一个元素的尺寸,布局,显示和隐藏没有改变,而是改变了元素的外观风格的时候(比如修改字体颜色),重绘就发生了。

结论回流必定触发重绘,而重绘不一定触发回流。回流会导致渲染树需要重新计算,开销比重绘大,所以我们要尽量避免回流的产生。

回流的产生

  1. 页面第一次渲染,在页面发生首页渲染的时候,所有组件都需要进行首次布局,这
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值