DOM渲染原理
程序开发
2023-09-10 09:38:08
浏览器渲染过程
1. 构建DOM树
Critical Path Hello web performance students!
无论是DOM还是CSSOM,都是要经过Bytes → characters → tokens → nodes → object model这个过程。
转存失败重新上传取消
DOM树构建过程:当前节点的所有子节点都构建好后才会去构建当前节点的下一个兄弟节点。
2. 构建CSSOM树
上述也提到了CSSOM的构建过程,也是树的结构,在最终计算各个节点的样式时,浏览器都会先从该节点的普遍属性(比如body里设置的全局样式)开始,再去应用该节点的具体属性。还有要注意的是,每个浏览器都有自己默认的样式表,因此很多时候这棵CSSOM树只是对这张默认样式表的部分替换。
3. 生成render树
DOM树和CSSOM树合并生成render树
转存失败重新上传取消
简单描述这个过程:
DOM树从根节点开始遍历可见节点,这里之所以强调了“可见”,是因为如果遇到设置了类似display: none;的不可见节点,在render过程中是会被跳过的(但visibility: hidden; opacity: 0这种仍旧占据空间的节点不会被跳过render),保存各个节点的样式信息及其余节点的从属关系。
4. Layout 布局
有了各个节点的样式信息和属性,但不知道各个节点的确切位置和大小,所以要通过布局将样式信息和属性转换为实际可视窗口的相对大小和位置。
5. Paint 绘制
万事俱备,最后只要将确定好位置大小的各节点,通过GPU渲染到屏幕的实际像素。
Tips
转存失败重新上传取消
何时触发reflow和repaint
标签:
上一篇:
2019年 值得收藏的 15 个 JavaScript 和 CSS 动画
下一篇:
相关文章
-
无相关信息