css文件应该放在HTML顶部的head中。原因:浏览器解析html文档是自上而下的,如果将CSS放在底部,页面可以逐步呈现,但在CSS下载并解析完毕后,已经呈现的文字和图片就要需要根据新的样式重绘,这是一种不好的用户体验。

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

css文件应该放在HTML顶部的head中。

why?

link标签里面的href(HyperText reference)属性表示超文本引用,当CSS使用href引用,浏览器会识别该文档为CSS,并行下载,不会停止对当前文档的加载,在加载html生成DOM tree的时候,就可以同时对DOM tree进行渲染,这样可以防止闪跳,白屏或者布局混乱。

最理想的情况,我们希望浏览器逐渐的渲染下载好的CSS,将页面逐渐的展现给用户。但是浏览器为了避免样式变化时重新渲染绘制页面元素,会阻塞内容逐步呈现,浏览器等待所有样式加载完成之后才一次性渲染呈现页面。

CSS文件如果放置底部,浏览器阻止内容逐步呈现,浏览器在等待最后一个css文件下载完成的过程中,就出现了“白屏”(新打开连接时为白屏,尔后先出现文字,图片,样式最后出现)。这点非常严重,因为在网速非常慢的情况下,css下载时间比较长,这样就给用户带来“白屏”的时间自然也就很长了,用户体验非常差。

CSS文件放在顶部一方面是因为放置顺序决定了下载的优先级,更关键的是浏览器的渲染机制。

css在加载过程中不会影响到DOM树的生成,但是会影响到Render树的生成,进而影响到layout,所以一般来说,style的link标签需要尽量放在head里面,因为在解析DOM树的时候是自上而下的,而css样式又是通过异步加载的,这样的话,解析DOM树下的body节点和加载css样式能尽可能的并行,加快Render树的生成的速度。

将CSS放在底部,页面可以逐步呈现,但在CSS下载并解析完毕后,已经呈现的文字和图片就要需要根据新的样式重绘,这是一种不好的用户体验。

(学习视频分享:css视频教程)

css应该放在哪里,css文件应该放在哪相关推荐

  1. css文件应该放在哪?

    css文件应该放在HTML顶部的head中.原因:浏览器解析html文档是自上而下的,如果将CSS放在底部,页面可以逐步呈现,但在CSS下载并解析完毕后,已经呈现的文字和图片就要需要根据新的样式重绘, ...

  2. CSS样式为什么放在head中,而不放在body底部

    CSS样式为什么放在head中,而不放在body底部 1. 放在body底部 代码: <!DOCTYPE html> <html lang="en"> &l ...

  3. php css定位到图片上,CSS_浅谈css中图片定位之所有图标放在一张图上,如今做网页为了使网站丰富多 - phpStudy...

    浅谈css中图片定位之所有图标放在一张图上 如今做网页为了使网站丰富多彩,富于表现力,往往需要应用大量的图片/图标.如何处理这些图片,使其尽量不影响网页载入,解析等速度,是一个不大不小的问题.如果你的 ...

  4. js修改地址栏url_在gulp、create-react-app中css,js中的文件路径

    我们的项目HTML文件单独放在一个服务器上,静态资源js.css.images放在我们的静态资源服务器上,这样部署后会出现一个问题,css文件中的图片相对路径,在html的服务器上就会变成 //htm ...

  5. 把JS和CSS合并到1个文件

    合并JS文件和CSS文件很多人都知道,也用过,目的是为了减少请求数.但有时候我们觉的把JS合并到1个文件,CSS又合并到另外1个文件也是浪费,我们如何能把CSS和JS一起合并进1个文件了? 这里需要使 ...

  6. vue-cli生成的spa项目js、css、fonts、images文件路径找不到

    js.css文件找不到 问题分析 run build 命令进行文件编译打包的时候,会将publicPath 加入文件引入路径中,vue-vli默认配置的publicPath='/',路径替换时生成的j ...

  7. vue修改css打包,vue修改打包文件的路径

    最近用vue做一个项目,刚开始没想到后台用的微擎,不能前后端完全独立.而且 index.html 页面放在template文件夹中,而静态的css和js等文件则放在 /addons/business/ ...

  8. webpack如何将css文件分离的,【Webpack小书】Webpack中如何将CSS样式抽取到独立文件中? - Tim的资源站...

    现在我们有一个很好的打包了,但所有的 CSS 都去了哪里?根据配置,它已被内联到 JavaScript!虽然这在开发过程中很方便,但听起来并不理想. 当前的解决方案 CSS 是无法缓存的,并且还有一个 ...

  9. 大家是否也习惯将常用到的Python软件包放在一个头文件里?

    §01 Python头文件 #mermaid-svg-1BDR3XpyPsCDv75B .label{font-family:'trebuchet ms', verdana, arial;font-f ...

最新文章

  1. WebApi2 知识点总结
  2. BT:​关键胞外酶触发了细菌群落演替偶联的高效堆肥
  3. linux c http下载 带确认 进度条
  4. 【10】青龙面板之JD ck 获取的1种办法
  5. 学python用什么系统好-初次接触python,怎么样系统的自学呢?
  6. 窗体添加阴影效果如此简单
  7. SAP中国际贸易条款的含义
  8. c#中一个简单的深拷贝方法
  9. centos java发送邮件发不出去_传真机发不出传真怎么办 传真机发不出传真解决方法【详解】...
  10. 使用VMware VSphere WebService SDK进行开发 (六)——检测告警信息
  11. 网络流与线性规划24题(写了一半,先鸽下了……)
  12. python字典统计排序1_python-如何按字典顺序对Counter.mostCommon(n)的...
  13. 飞鱼知识变现小程序2.5.3源码_小程序功能模块
  14. api es7 删除所有数据_Elasticsearch7.1中文文档-第四章-API约定
  15. boost电路输出电流公式_boost计算公式
  16. 养不起真猫,就用代码吸猫-Unity粒子实现画猫咪
  17. linux用户管理(1)----创建用户(adduser和useradd)和删除用户(userdel)
  18. HDWiki/插件开发指南
  19. 【macOS游戏】Cities:天际线
  20. java录入个人信息程序_Java:用键盘输入个人信息并输出

热门文章

  1. 使用python3查收与发送邮件
  2. C#异常处理try catch
  3. 手机病毒肆虐:恶意软件每天获取超3000美元收益
  4. 这套设备管理方案助你效率10倍提升
  5. 施工部署主要不包括_施工管理目标是单位工程施工部署的重要内容,其目标不包括()。A.质量目标B.社会行为目标C.工期目标...
  6. 标准分幅地图-选择比例尺
  7. Android 权限(一):权限大全
  8. 按键精灵 识别图片形状_精灵形状的2D世界建筑物简介
  9. 如何高效的寻找Github项目
  10. Digilent Analog Discovery Studio视频教程:DAQWare for Digilent AD 1.0.3新功能