大致的总结一下:
在浏览器中从输入一个url到页面渲染完成,浏览器中发生的事情。
1. 根据url连接上对应的服务器,请求到入口文件index.html/index.jsp(根据doctype告诉浏览器以何种文档类型解析)
2.入口文件内容由上到下加载,遇到图片路径,或引入css,浏览器再重新发送一个请求,获取资源文件
3.html parser把hml解析为DOM tree
css parser 把css解析为树形结构 CSSOM
4. DOM tree和CSSOM整合为Render tree
5.Render tree通过浏览器的layout计算页面中每个元素的位置,同时通知浏览器有一个页面需要painting
6.painting:浏览器通过GUI画图
7.display :页面绘制完成
说明:在html自上而下加载过程中如果遇到script,即有js需要加载,页面渲染过程暂停,执行js完成再进行渲染,因为js中可能会使DOM树或css改变,js阻塞渲染机制是为了避免页面内容跳动及不必要的重绘重排带来的性能损耗。
其他相关:重排从layout过程开始,重绘从painting过程开始。