做个简单总结,如下:
-
css文件加载不阻塞dom解析,但阻塞dom渲染,dom解析&css加载同时完成,浏览器才会显示结果; -
js文件的加载以及执行都阻塞dom解析及渲染; - 第一条并不绝对,遇到
script标签时,如果此前有css文件尚未加载完毕,浏览器会去加载此前的css文件(同时加载该js文件?),此过程dom解析会暂停。此前css文件加载完毕,浏览器渲染一次,然后执行js;
网站的一般做法
-
css文件放头部js文件放底部; -
css文件放头部js文件跟随在相关html之后;(根据结论3 遇到js则渲染一次 可达到渐进式渲染的效果) -
css公共文件放头部css文件及js文件都跟随在相关html之后;(同上条)