css为什么放head里面?有什么优点?
Admin 2021-10-15 群英技术资讯 2096 次浏览
css为什么放head里面?相信不少朋友对于这个问题会比较好奇,css不能和JavaScript一样写在body标签尾部吗?对此本文就与大家一起探讨一下css放body标签尾部会怎么样?以及css放head里面有什么优点?
在这里先说chrome控制台的一个小技巧:

限制download速度对我们的测试很有帮助! 可以让我们看清一些细节
我们先把download速度限制为40kb/s, 开始测试:
当css引入位置放于body标签尾部
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <h1>Hello world</h1> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css"> </body> </html>
在浏览器中查看效果:
当bootstrap.min.css文件未加载完成时, 网页中已经出现了"Hello world", 但样式为默认样式, 说明网页已经渲染过一遍了

当bootstrap.min.css文件加载完成之后, 网页中的"Hello world"样式发生改变, font-size发生明显变化, 因此可以判断: 网页出现reflow

当css引入位置放于head标签中时:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css"> </head> <body> <h1>Hello world</h1> </body> </html>
在浏览器中打开查看效果:
当bootstrap.min.css未加载完成时, 网页中并未出现任何内容, 说明此时网页并未发生渲染

当bootstarp.min.css加载完成后, 网页中出现带有bootstrap样式的"Hello world", 说明此时网页发生渲染

从上面两个例子可以看出:
css放在body标签尾部时, DOMTree构建完成之后便开始构建RenderTree, 并计算布局渲染网页, 等加载解析完css之后, 开始构建CSSOMTree, 并和DOMTree重新构建RenderTree, 重新计算布局渲染网页
css放在head标签中时, 先加载css, 之后解析css构建CSSOMTree, 于此同时构建DOMTree, CSSOMTree和DOMTree都构建完毕之后开始构建RenderTree, 计算布局渲染网页
对比两者, css放在head标签中比css放在body标签尾部少了一次构建RenderTree, 一次计算布局和一次渲染网页, 因此性能会更好; 并且css放在body标签尾部时会在网页中短暂出现"裸奔"的HTML, 这不利于用户体验
再讲一个小技巧:


现在大家对于“css为什么放head里面不放body标签尾部”应该都清楚了吧,希望大家阅读完这篇文章能有所收获,想要了解更多CSS的内容,大家可以关注群英网络其它相关文章。
文本转载自脚本之家
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
今天给大家分享做用css实现进度条的内容,比较简单的进度条有横向和竖向的进度条,本文就主要了解这两种简单的进度条的实现,一些朋友对两种进度条实现的区别比较好奇,下面我们就通过两个示例来了解看看。
本篇文章主要介绍了css3实现画半圆弧线的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
我们在HTML中设置frameset的高度时会出现界面变形的情况,那么设置frameset的高度界面变形怎么办呢?接下来我们就一起去看看设置frameset的高度界面变形的解决方法。
css选中标签的方法:1、利用id选择器,语法为“#id名{css代码;}”;2、利用类选择器,语法为“.类名{css代码;}”;3、利用标签选择器,语法为“标签名{css代码;}”;4、利用通配符选择器,语法为“*{css代码;}”。
我们想要实现背景颜色渐变的效果是直接可以使用CSS实现的,不用再做图,那么css背景颜色渐变都可以实现哪些效果呢?接下来给大家分享10个实现css背景颜色渐变的技巧,感兴趣的朋友就继续往下看吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008