css应该放在哪里,css文件应该放在哪
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文件应该放在哪相关推荐
- css文件应该放在哪?
css文件应该放在HTML顶部的head中.原因:浏览器解析html文档是自上而下的,如果将CSS放在底部,页面可以逐步呈现,但在CSS下载并解析完毕后,已经呈现的文字和图片就要需要根据新的样式重绘, ...
- CSS样式为什么放在head中,而不放在body底部
CSS样式为什么放在head中,而不放在body底部 1. 放在body底部 代码: <!DOCTYPE html> <html lang="en"> &l ...
- php css定位到图片上,CSS_浅谈css中图片定位之所有图标放在一张图上,如今做网页为了使网站丰富多 - phpStudy...
浅谈css中图片定位之所有图标放在一张图上 如今做网页为了使网站丰富多彩,富于表现力,往往需要应用大量的图片/图标.如何处理这些图片,使其尽量不影响网页载入,解析等速度,是一个不大不小的问题.如果你的 ...
- js修改地址栏url_在gulp、create-react-app中css,js中的文件路径
我们的项目HTML文件单独放在一个服务器上,静态资源js.css.images放在我们的静态资源服务器上,这样部署后会出现一个问题,css文件中的图片相对路径,在html的服务器上就会变成 //htm ...
- 把JS和CSS合并到1个文件
合并JS文件和CSS文件很多人都知道,也用过,目的是为了减少请求数.但有时候我们觉的把JS合并到1个文件,CSS又合并到另外1个文件也是浪费,我们如何能把CSS和JS一起合并进1个文件了? 这里需要使 ...
- vue-cli生成的spa项目js、css、fonts、images文件路径找不到
js.css文件找不到 问题分析 run build 命令进行文件编译打包的时候,会将publicPath 加入文件引入路径中,vue-vli默认配置的publicPath='/',路径替换时生成的j ...
- vue修改css打包,vue修改打包文件的路径
最近用vue做一个项目,刚开始没想到后台用的微擎,不能前后端完全独立.而且 index.html 页面放在template文件夹中,而静态的css和js等文件则放在 /addons/business/ ...
- webpack如何将css文件分离的,【Webpack小书】Webpack中如何将CSS样式抽取到独立文件中? - Tim的资源站...
现在我们有一个很好的打包了,但所有的 CSS 都去了哪里?根据配置,它已被内联到 JavaScript!虽然这在开发过程中很方便,但听起来并不理想. 当前的解决方案 CSS 是无法缓存的,并且还有一个 ...
- 大家是否也习惯将常用到的Python软件包放在一个头文件里?
§01 Python头文件 #mermaid-svg-1BDR3XpyPsCDv75B .label{font-family:'trebuchet ms', verdana, arial;font-f ...
最新文章
- WebApi2 知识点总结
- BT:​关键胞外酶触发了细菌群落演替偶联的高效堆肥
- linux c http下载 带确认 进度条
- 【10】青龙面板之JD ck 获取的1种办法
- 学python用什么系统好-初次接触python,怎么样系统的自学呢?
- 窗体添加阴影效果如此简单
- SAP中国际贸易条款的含义
- c#中一个简单的深拷贝方法
- centos java发送邮件发不出去_传真机发不出传真怎么办 传真机发不出传真解决方法【详解】...
- 使用VMware VSphere WebService SDK进行开发 (六)——检测告警信息
- 网络流与线性规划24题(写了一半,先鸽下了……)
- python字典统计排序1_python-如何按字典顺序对Counter.mostCommon(n)的...
- 飞鱼知识变现小程序2.5.3源码_小程序功能模块
- api es7 删除所有数据_Elasticsearch7.1中文文档-第四章-API约定
- boost电路输出电流公式_boost计算公式
- 养不起真猫,就用代码吸猫-Unity粒子实现画猫咪
- linux用户管理(1)----创建用户(adduser和useradd)和删除用户(userdel)
- HDWiki/插件开发指南
- 【macOS游戏】Cities:天际线
- java录入个人信息程序_Java:用键盘输入个人信息并输出
热门文章
- 使用python3查收与发送邮件
- C#异常处理try catch
- 手机病毒肆虐:恶意软件每天获取超3000美元收益
- 这套设备管理方案助你效率10倍提升
- 施工部署主要不包括_施工管理目标是单位工程施工部署的重要内容,其目标不包括()。A.质量目标B.社会行为目标C.工期目标...
- 标准分幅地图-选择比例尺
- Android 权限(一):权限大全
- 按键精灵 识别图片形状_精灵形状的2D世界建筑物简介
- 如何高效的寻找Github项目
- Digilent Analog Discovery Studio视频教程:DAQWare for Digilent AD 1.0.3新功能