JavaScript是怎样事变的:渲染引擎和优化其机能的能力
与 HTML一样,渲染引擎必要将 CSS 转换成赏识器可以行使的对象—— CSSOM。CSSOM 布局如下: 你想知道为什么 CSSOM 是一个树形布局? 在为页面上的任何工具计较最终样式集时,赏识器以合用于该节点的最通例法则开始(譬喻,假如它是 来看看详细的例子。包括在 另请留意,上面的树不是完备的 CSSOM 树,只表现我们抉择在样式表中包围的样式。 每个赏识器都提供一组默认样式,也称为 “user agent stylesheet” 。这是我们在未明晰指定任何样式时看到的样式,我们的样式会包围这些默认值。 差异赏识器对付沟通元素的默认样式并纷歧致,这也是为什么我们在 CSS 的最开始要写 CSSOM 树和 DOM 树毗连在一路形成一个 render tree,,渲染树用来计较可见元素的机关而且作为将像素渲染到屏幕上的进程的输入。
渲染树中的每个节点在 Webkit 中称为渲染器或渲染工具。 收下是上面 DOM 和 CSSOM 树的渲染器树的样子: 为了构建渲染树,赏识器大抵执行以下操纵:
“visibility:hidden” 和 “display:none” 之间的差异, “visibility:hidden” 将元素配置为不行见,可是同样在机关上霸占必然空间(譬喻,它会被渲染成为空盒子),可是 “display:none” 的元素是将节点从整个 你可以在这里查察 RenderObject 的源代码(在 WebKit 中):https://github.com/WebKit/web... 我们来看看这个类的一些焦点内容: 每个渲染器代表一个矩形地区,凡是对应于一个节点的 CSS 盒模子。它包括几许信息,譬喻宽度、高度和位置。 渲染树的机关建设渲染器并将其添加到树中时,它没有位置和巨细,计较这些值称为机关。 HTML行使基于流的机关模子,这意味着大大都时刻它可以一次性计较几许图形。坐标体系相对付根渲染器,行使左上原点坐标。 机关是一个递归进程 - 它从根渲染器开始,它对应于 HTML 文档的 根渲染器的位置为 在此绘制,遍历渲染器树并挪用渲染器的 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |