在页面加载的一瞬间,先看到html,等一秒才能看见css样式,请问这是什么原因啊?
1、网页发出http请求,返回html,这时候网页渲染就开始。
先读取html标签,从上面往下读取,这时候可能遇到link标签,那么就又发一次http请求,请求css文件。下载完css文件以后,继续往下面解析,也有可能遇到script标签,这时候也是会发出一个http请求。
2、body里面可能有遇到类似img等资源请求标签标签,然后就会发出http请求。就这样一直执行到body结束。
“在页面加载的一瞬间,先看到html”这是执行第1步返回结果,
“等一秒才能看见css样式”这是执行上述第2步的结果。
不知道有没说清楚,如果不清楚可以去了解一下
https://hanyub.github.io/2016/07/14/HTML从输入URL到页面渲染过程/
3 回答4.8k 阅读✓ 已解决
5 回答2k 阅读
2 回答1.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.5k 阅读
4 回答2.2k 阅读
2 回答999 阅读✓ 已解决
这个和网速有很大关系,另外如果是在head中写的css样式会先于body加载,但这种方法对于多页面,样式多的情况不太适用,建议你可以压缩css资源,合并css,减少http请求,另外可以优化一下css,让影响布局的先写,这样以增强页面加载时的体验,减少dom的跳动等。希望对你有所帮助。另外js脚本尽量放在body结束标签之前。