为了账号安全,请及时绑定邮箱和手机立即绑定

Repaint 、Reflow 的基本认识和解析

浏览器的大概解析流程
在说这两只之前,有必要说一下浏览器的解析的大概流程,其实很多时候前端都在跟浏览器打交道,熟知这些东西还是很有必要的。
可以大概的分为4个步骤:
1.构建dom树——浏览器通过解析html/svg/xhtml以得到don树
2.构建渲染树(rendring tree)——解析css城css rule tree 通过css计算节点样式
3.布局渲染树——从根节点递归调用,计算每一个元素的大小、位置等,给每个节点所应该出现在屏幕上的精确坐标
4.通过调用操作系统Native GUI的API绘制
经常被人提及的repaint和reflow就在以上的第三和第四步中,网上可以找到一张讲解很清晰的图,有兴趣可以搜搜看。
repaint
对应中文大概的意思就是重绘,重画。
触发条件:当改变dom元素的视觉效果时(例如:opacity,background-color,outline等等)
reflow
对应中文回流,落潮。
触发条件:增删改某个元素的可见性时;增删改css样式;css动画等等


感想
这两只在面试或则日常工作当中会经常遇见,跟一些性能相关的问题挂钩,至少目前移动端还是很需要注意这些东西的,尤其是reflow造成的性能问题。在这里就不写怎么去避免或者说怎么去减少这些问题,网上实在太多了。
很多时候我们都是为了解决问题而解决问题,而忘了为什么问题会出现,所以一些原理性,基础性的东西还是要掌握起来。奋斗在前端线上的童鞋们共勉。

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消