做个简单总结,如下:
-
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
之后;(同上条)