css深入浅出系列之:css文件放在页面顶部

css深入浅出系列只是自己在学习css的时候的一些个人见解,有错误的地方,欢迎在评论中指正噢~

我们可以看到,大多数的html页面在用link引入外部css文件的时候,都是把css文件放在页面的顶部,即放在<head>标签里面,那么,这样做的原因是什么呢?

答案:可以让前端性能更优化

那么,为什么就可以让前端性能更加优化呢?这时,我们就需要先了解脚本和样式文件对页面渲染的影响。

浏览器从服务器获取文档并自上而下进行解析,在脚本文件不包含defer和async的情况下,会按照如下的规则进行解析:

1.解析hrml文档,遇到html标签时,构建DOM树
2.在解析html文档的时候,如果遇到外联的css文件或js文件,会阻塞html文档继续向下解析。
3.css文件下载完毕之后,会构建 CSS Rule Tree,js文件下载完毕之后,会立即解析执行。
4.如果CSS Rule Tree先于DOM Tree生成,那么DOM Tree会在一边构建的同时一边结合CSS Rule Tree生成Rendering Tree(渲染树),渲染页面。
5.如果CSS Rule Tree后于DOM Tree生成,那么在构建完DOM Tree之后,会再结合CSS Rule Tree树,再次构建一遍,渲染页面。

从上面的规则中我们可以看到,我们css文件放在顶部,就可以先于DOM树生成CSS Rule Tree,DOM Tree就只会构建一遍,节省了时间,前端性能就得到优化。

当然,这个用法并不是绝对的,如果css文件比较大,下载时间较长,屏幕就会出现较长的白屏时间,用户体验不好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值