浏览器是如何渲染页面的?
对事件循环有疑问的请移步
事件循环浏览器的进程模型什么是进程呢?程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程。每个...
渲染流程总图
HTML 解析
**、**样式计算
**、**布局
**、**分层
**、**绘制
**、**分块
**、**光棚化
**、**画
**每个阶段都有明确的输入输出,上一个阶段的输出会成为下一个阶段的输入。流程1--开启渲染流程
流程2--渲染的第一步是解析HTML--Parse HTML
第一步完成后,会得到DOM树和 CSSOM树,浏览器的默认样式、内部样式、外部样式、行内样式均会包含在CSSOM树中。
流程2--样式计算 Recalculate Style
流程3--布局layout
- **比如display:none 的节点没有几何信息,因此不会生成到布局树。**
- **比如使用了伪元素选择器,虽然DOM树中不存在这些伪元素节点,但它们拥有几何信息,所以会生成到布局树中。**
- **还有匿名行盒、匿名块盒等等都会导致DOM树和布局树无法——对应。**
流程4--分层Layer
流程5--绘制 Paint
流程6--分块 Tiling
流程7--光栅化 Raster
流程8--画 draw
什么是reflow?
什么是repaint?
为什么transform的效率高?