浏览器渲染整体流程构建DOM当你拿到一个html文件,它是如何构建dom树的?浏览器会根据尖括号来识别标签。每个标签都有一个StartTag和一个EndTag,里面的文字会被解析出来。这些开始和结束的Token将被堆叠起来进行规则匹配,以建立节点之间的层次关系。属性也将从网络中的DOM中解析出来。当你访问一个网站时,你会发现有时候页面并没有一下子呈现出来。当你拿到一段html的时候,这段html就开始构建dom,而下一段html可能还在网络中穿梭。妙趣横生的dom构建给我们带来了良好的用户体验。CSSOM的创建CSSOM和html、css文件的创建一样,都会被解析成文档模型。它有自己的一套规则,另外他还有一个内部的继承机制。被细节遮挡的csscss是不是和html一样,也是从网络解析一点点?不会,对于css中同一个元素的同一个样式,如果选择器的权重相同,后面的样式会覆盖前面的样式,如果是fetch的话,会解析,如果前面的资源加载慢,页面会混淆样式被渲染,所以css被屏蔽。构建RenderTreeRenderTree实际上是DOM和CSSOM的结合。但是display为none的节点是不会出现在renderingtree中的:Layout布局是根据RenderTree中的样式规则来计算每个block的实际宽度、高度、颜色值等样式。.举个栗子:PrinttranslatesLayoutintopixels参考:Uda的网站性能优化
