【飞利浦·斯塔克|web前端 - 真实DOM渲染过程】1.构建DOM树 。 通过html parser解析处理html标记 , 将它们构建为DOM树(DOM tree) , 当解析器遇到非阻塞资源(图片 , css)会继续解析 , 但是如果遇到script标签(特别是没有async 和 defer属性) , 会阻塞渲染并停止html的解析 , 这就是为啥最好把script标签放在body下面的原因 。
2.构建cssOM树 。 与构建DOM类似浏览器也会将样式规则 , 构建成CSSOM 。 浏览器会遍历CSS中的规则集 , 根据css选择器创建具有父子 , 兄弟等关系的节点树 。
3.构建Render树 。 这一步将DOM和CSSOM关联 , 确定每个 DOM 元素应该应用什么 CSS 规则 。 将所有相关样式匹配到DOM树中的每个可见节点 , 并根据CSS级联确定每个节点的计算样式 , 不可见节点(head属性包括 display:none的节点)不会生成到Render树中 。
4.布局/回流(Layout/Reflow) 。 浏览器第一次确定节点的位置以及大小叫布局 , 如果后续节点位置以及大小发生变化 , 这一步触发布局调整 , 也就是 回流 。
5.绘制/重绘(Paint/Repaint) 。 将元素的每个可视部分绘制到屏幕上 , 包括文本、颜色、边框、阴影和替换的元素(如按钮和图像) 。 如果文本、颜色、边框、阴影等这些元素发生变化时 , 会触发重绘(Repaint) 。 为了确保重绘的速度比初始绘制的速度更快 , 屏幕上的绘图通常被分解成数层 。 将内容提升到GPU层(可以通过tranformfilterwill-changeopacity触发)可以提高绘制以及重绘的性能 。
6.合成(Compositing) 。 这一步将绘制过程中的分层合并 , 确保它们以正确的顺序绘制到屏幕上显示正确的内容 。
今天的爱创课堂小编就分享到这里了 , 有想学习前端 , 了解前端更多知识的同学 , 欢迎大家点赞、关注、私信我!!!
- 飞利浦·斯塔克|最便宜的小米 12 来了,2000 块左右
- javascript|Web前端培训:什么是 MEAN Stack?
- 飞利浦·斯塔克|「手慢无」泰坦军团 C30SK PRO显示器 秒杀1299元
- 飞利浦·斯塔克|集五福卡又来了!支付宝提前开始布局了,神秘福卡限时领
- 想要玩转 Web3.0,读懂智能合约是关键
- 应用案例集锦丨飞利浦数字标牌,让品牌形象锋芒毕露
- 飞利浦·斯塔克|原价买显卡时代即将来临!英伟达:今年火力全开加大显卡产能
- 飞利浦新款首发K歌回音壁B5856 在家也要热血KTV
- Web3.0时代,数字人如何突破规模落地三大难点?百度李士岩:两
- Web 3,能解决互联网最核心的悖论吗?