链接字体,CSS和脚本的顺序是什么

时间:2017-09-14 09:05:43

标签: javascript jquery html css html5

如果我有一个网站项目:

  • reset.css
  • remote bootstrap lib
  • master.css
  • 远程字体真棒CSS
  • 两个谷歌字体
  • JQuery lib
  • main.js

考虑最佳加载速度和可能的覆盖。在<head>

中将它们链接起来的最佳顺序是什么?

我知道稍后添加的内容将覆盖相同优先级的相同规则,前一个样式表已应用,浏览器呈现从上到下,<head>首先<body>

我还从谷歌那里了解到,在现代浏览器中有一种叫做预取的东西。

就个人而言,我会做reset.css,font awesome,google font,bootstrap lib,master.css,Jquery lib,main.js.首先是通用规则,首先是lib。但我不知道如何处理字体,因为它们也是样式表。

3 个答案:

答案 0 :(得分:4)

在Bootstrap之前加载jQuery并在bootstrap之后加载所有自定义CSS非常重要。最好在开头加载谷歌字体样式表。

顺序应该是库首先跟随自定义脚本和样式。由于bootstrap依赖于jQuery,因此应该在加载Bootstap的JavaScript文件之前加载jQuery。

  1. google font
  2. fontawesome
  3. JQuery lib
  4. remote bootstrap lib
  5. reset.css
  6. master.css
  7. main.js
  8. 与在头标记之间使用JavaScript文件相比,在正文末尾加载JavaScript文件(在</body>之前)将提高网站加载速度。

答案 1 :(得分:3)

我想指出,之前答案中建议的订单与开发人员并未完全同步。 Google和MDN建议的最佳做法。

首先应在头部加载CSS,然后是字体样式表或谷歌字体样式表,以便布局不会出现断裂,特别是在慢速连接时。

因此,Bootstrap css可以加载到头部,而Bootstrap js应该在jQuery之后加载。

JS,jQuery及其依赖项可以移动到页面底部以促进更快的页面加载,因为JS代码可以影响网页的内容和布局,浏览器会延迟呈现脚本标记之后的任何内容,直到该脚本为止已被下载,解析和执行。

因为bootstrap js将jQuery作为依赖项。因此,应首先加载jQuery,然后加载boootstrap js和main js文件。

所以,按照最佳开发人员的做法正确的顺序:

<head>

 1. Bootstrap CSS    
 2. Reset CSS
 3. Master CSS
 4. Google Font CSS
 5. Font Awesome CSS

</head>
<body>

Your content goes here    

<!-- add js files to the bottom of the page-->

 6. jQuery 
 7. Bootstrap js
 8. Main js

</body>

答案 2 :(得分:1)

因为你的问题是在性能方面。以下是我的一些看法

<强> 1。加载谷歌字体aysnc 您可以异步加载字体,因此它不会阻止页面的呈现。你可以使用javascript字体加载器,https://github.com/typekit/webfontloader

<强> 2。首先加载css 以下方法可能是最好的方法

  • fontawesome
  • JQuery lib
  • 删除bootstrap lib
  • reset.css
  • master.css

我还建议您合并reset.css和master.css,因为我认为发送一个单独的reset.css请求是没用的,并且将这些小代码集与master.css合并将是一种更好的方法。

第3。加载JS 最后加载master.js文件,最好在body标签的底部加载这个文件,从那时起它将提高影响关键渲染路径的页面加载性能。

注意:请阅读关键的rending路径,这可以深入解释页面加载性能。