css为啥会阻塞渲染

来源:6-1 重绘与回流-css 性能让 Javacript 变慢?

斜杠男人

2018-09-06

css为啥会阻塞渲染

写回答

2回答

千迦

2018-09-08

同学你好,该内容在课程4-4中有讲解,具体来说就是javascript的执行可能存在样式操作,这依赖于css的加载完成,所以css加载完之后才会去执行javascript。

理论上来说,css不会更改 DOM 树,因此似乎没有必要等待样式表并停止文档解析。但这涉及到一个问题,就是脚本在文档解析阶段会请求样式信息。如果当时还没有加载和解析样式,脚本就会获得错误的回复,这样显然会产生很多问题。这看上去是一个非典型案例,但事实上非常普遍。Firefox 在样式表加载和解析的过程中,会禁止所有脚本。而对于 WebKit 而言,仅当脚本尝试访问的样式属性可能受尚未加载的样式表影响时,它才会禁止该脚本。

所以,之所以css会阻塞渲染,也是浏览器开发者在设计的过程中,对于流程模块依赖关系的梳理得到的相对优化和简便的处理,是他们的浏览器内核的代码逻辑决定的,如果同学有兴趣,可以详细看看webkit的一些实现。

希望这个回答对你有帮助。

0
0

千迦

2018-09-07

同学你好 你的问题已经看到了 稍后会进行回复

0
0

让你页面速度飞起来 Web前端性能优化

【面试必备】采用Vue-SSR和PWA等新技术,快速突破你的Web页面性能的瓶颈

1054 学习 · 123 问题

查看课程