这是一个非常经典的前端面试题,也是理解浏览器渲染原理(Critical Rendering Path,关键渲染路径)的核心。 简单来说,它们的关系可以用一个公式概括: $$ \text{DOM 树} + \text{CSSOM 树} = \text{渲染树 (Render Tree)} $$ 以下是详细的深度解析: --- 1. 三者的定义与角色 DOM 树 (Document Object Model Tree) 来源:HTML 文档。 作用:表示页面的内容(Content)和结构。 包含:所有的 HTML 标签(, , 等),包括 , , 以及被 CSS 隐藏的元素。 本质:它是完全基于 HTML 标签的父子层级关系构建的。 CSSOM 树 (CSS Object Model Tree) 来源:CSS 样式表(外部 .css 文件、 标签、内联样式)。 作用:表示页面的样式规则(Styling)。 包含:所有的样式信息(颜色、尺寸、字体、显示模式等)。 本质:它不仅包含显式定义的样式,还包含浏览器默认样式(User Agent Styles)以及继承下来的样式。 渲染树 (R...