css和脚本的位置

时间:2012-02-25 05:39:05

标签: javascript html css

从渲染速度的角度来看,放置<script>...</script><style>...</style>的最佳位置在哪里?在<head>...</head>内,或<body>...</body>之后或之后?还有其他任何标签可以放在<head>...</head> <base>之内的常规位置之外吗?

2 个答案:

答案 0 :(得分:2)

<style><link rel="stylesheet">必须位于<head>。如果不是,则可以在没有样式的情况下呈现页面,然后在加载样式时进行不和谐的更改。

另一方面,

<script>可以在任何地方。就个人而言,我更喜欢在<head>中加载外部JS文件(通常是定义函数的文件),影响页面本身的脚本就在</body>之前,以确保在运行之前所有元素都可用

但是我确实有一个新编写的脚本框架,它允许我将<script>个元素放在任何地方,但是他们的代码被推迟,所以它们就像它们放在</body>之前一样运行。这允许我将脚本放在它们影响的页面部分附近,而不会对页面加载产生负面影响。

答案 1 :(得分:1)

正如Kolink所说,CSS样式应该放在<head>部分,以便在没有应用样式的情况下永远不会呈现页面。

如果<scripts>位于正文的最末端,就在<body>标记之前,您将获得最大的页面渲染速度。这是因为可以在解析或运行脚本之前呈现页面,而不是在解析和运行脚本之后呈现页面。

在现代浏览器中,不必以任何特定顺序运行的

<scripts>也可以标记为deferasync,这将导致其加载和解析被反序列化加载和显示HTML。

这对大多数脚本都是可行的(比如响应用户事件(鼠标移动,点击,键等)的事情,但对所有事情都不可行。例如,代码使用的任何脚本{ {1}}直接进入页面内容必须在调用它们的代码之前加载,因此它通常会包含在document.write()部分中,以便在页面被解析和布局时可用。