图中解释:
加载html文档,生成dom树
加载css文档,生成style规则树
将2个树合成一个renderTree
再进行重绘和重排
css加载和解析,不会阻塞html解析,但会阻塞页面渲染,和js执行。 因为css解析完成前,会阻塞render生成。因为js执行需要等render树生成,所以也会阻塞js执行。
js加载如果不设置async和defer,那么就会阻塞。
async: 异步加载,加载完立马执行,并中断其他任务
defer: 异步加载,加载完,等html文档加载完再按script的顺序执行,DOMContentLoaded (en-US)事件前执行