您现在的位置是:网站首页> 编程资料编程资料
css为什么要放在head标签中html5+css3之制作header实例与更新html5+css3之CSS中的布局与Header的实现
2021-08-29
1777人已围观
简介 这篇文章主要介绍了css为什么要放在head标签中,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
思考: css为什么要放在head标签中, 而不能像javascript一样置于body标签尾部?
Talk is cheap, show me the code.
OK, 那我们通过写一些代码来得出结果
在这里先说chrome控制台的一个小技巧:

限制download速度对我们的测试很有帮助! 可以让我们看清一些细节
我们先把download速度限制为40kb/s, 开始测试:
当css引入位置放于body标签尾部
Document Hello world
在浏览器中查看效果:
当bootstrap.min.css文件未加载完成时, 网页中已经出现了"Hello world", 但样式为默认样式, 说明网页已经渲染过一遍了

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

当css引入位置放于head标签中时:
Document Hello world
在浏览器中打开查看效果:
当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中有什么优点?"这个疑惑也是极好~
到此这篇关于css为什么要放在head标签中的文章就介绍到这了,更多相关css head标签内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
相关内容
- animation和transition的区别css transition animation的使用(内含贝赛尔曲线详解)css动画属性使用及实例代码(transition/transform/animation) 使用CSS transition和animation改变渐变状态的实现方法CSS3与动画有关的属性transition、animation、transform对比(史上最全CSS3中动画属性transform、transition和animation属性的区别
- 详解CSS标签模式display属性一文了解CSS 标签显示模式详解CSS标签中的显示模式浅析css中使用border属性与display属性的方法详解css display:box 新属性浅谈CSS3中display属性的Flex布局的方法浅谈CSS的Display属性可能的值CSS display属性的table表格布局
- CSS背景图片设置的6个有趣的技巧使用CSS cross-fade()实现背景图像半透明效果的示例代码完美解决webpack打包css背景图片路径问题CSS3为背景图设置遮罩并解决遮罩样式继承问题CSS设置div背景图的实现代码CSS3 实现响应鼠标移动背景图片漂移效果的用户介绍卡片源码使用css写带纹理渐变背景图的示例代码
- css3遮罩层镂空效果的多种实现方法使用CSS content的attr实现鼠标悬浮提示(tooltip)效果CSS实现鼠标悬浮无限向下级展示的实例代码CSS鼠标悬浮DIV后显示DIV外的按钮解决方法CSS3制作了一个动画导航效果(鼠标悬浮会放大)css实现缕空遮罩层的示例代码CSS实现带遮罩层可关闭的弹窗效果CSS实现鼠标移至图片上显示遮罩层效果CSS 鼠标悬浮在图片上添加遮罩层效果的实现
- html+css制作div标签增加右上角删除图标的示例代码html+css 实现图片右上角加删除叉、图片删除按钮
- 纯CSS实现取字符串的第一个字符实现文字图标功能css图标与文字对齐的两种实现方法Html+css实现纯文字和带图标的按钮css控制文字前的小图标具体写法
- css3的focus-within选择器的使用详解如何使用CSS3中的结构伪类选择器和伪元素选择器CSS3 新增选择器的实例css3 伪类选择器快速复习小结CSS3 :default伪类选择器使用简介css3之UI元素状态伪类选择器实例演示CSS3选择器新增问题的实现
- 深度理解CSS clear:both的使用CSS——float属性及Clear:both备忘笔记清除浮动clear:both的应用详解-CSS教程-网页制作-网页教学网
- CSS实现元素浮动和清除浮动的方法CSS 清除浮动与BFC的方法css overflow: hidden 的用法(溢出隐藏及清除浮动)Css实现清除浮动的方法汇总什么是BFC? CSS 使用伪元素清除浮动的方法轻松搞懂CSS浮动与清除浮动图文详解css 如何清除浮动的示例代码CSS清楚浮动clear:both的实例代码
- CSS flex-basis 文本溢出问题的解决css多行文本溢出时出现省略号的示例纯CSS定制文本省略的方法大全CSS实现单行、多行文本溢出显示省略号的实现方法css实现文本溢出显示省略号CSS实现限制字数功能当对象内文本溢出时显示省略标记用css截取字符实现文字自动截断隐藏溢出文本css实现li中文本超出行宽自动隐藏兼容IE和FF的单行溢出文本显示省略号-CSS教程-网页制作-网页教学网
