浏览器会根据尖括号识别出标签,每个标签都有StartTag和EndTag,其中的文本也会被解析出来css
这些开始结束Tokens将会以栈的方式,进行规则匹配,构建出Nodes间的层级关系。html
属性也会被解析出来浏览器
当你访问一个网站的时候,你会发现页面有时不是一会儿被渲染出来的, 当拿到一段html的时候,这段html便开始构建dom,下一段html可能还在网络中穿梭,dom的这种即便构建的机智,给咱们带来了很好的用户体验性能优化
同html,css文件也会被解析成文档模型,它有本身的一套规则,另外,他内部还有继承机制,这里暂跳过细节网络
css是否是和html同样,也是从网络中获取一点就解析一点呢?不是的,css中对于同一个元素的同一个样式,若是选择器权重相同,后面的样式会覆盖前面的样式,若是是取到一点就解析一点,若是前面的资源加载慢,页面就会以错乱的样式来渲染,因此,css是阻塞的。dom
Render Tree 其实就是DOM 和 CSSOM 的综合,不过,display为none的节点不会出如今渲染树中:布局
布局就是根据Render Tree中的样式规则,计算出每一块的实际宽高色值等样式。
举个栗子:性能
将Layout翻译成像素点优化