JavaScript是如何工作的:渲染引擎和优化其性能的技巧
|
与 HTML一样,渲染引擎需要将 CSS 转换成浏览器可以使用的东西—— CSSOM。CSSOM 结构如下:
你想知道为什么 CSSOM 是一个树形结构? 在为页面上的任何对象计算最终样式集时,浏览器以适用于该节点的最常规规则开始(例如,如果它是 来看看具体的例子。包含在 另请注意,上面的树不是完整的 CSSOM 树,只显示我们决定在样式表中覆盖的样式。 每个浏览器都提供一组默认样式,也称为 “user agent stylesheet” 。这是我们在未明确指定任何样式时看到的样式,我们的样式会覆盖这些默认值。
不同浏览器对于相同元素的默认样式并不一致,这也是为什么我们在 CSS 的最开始要写 CSSOM 树和 DOM 树连接在一起形成一个 render tree,,渲染树用来计算可见元素的布局并且作为将像素渲染到屏幕上的过程的输入。
渲染树中的每个节点在 Webkit 中称为渲染器或渲染对象。 收下是上面 DOM 和 CSSOM 树的渲染器树的样子:
为了构建渲染树,浏览器大致执行以下操作:
|







