当设计网页时,我应该将以下代码放在哪里?
<link rel=stylesheet type="text/css" href="css/layout.css">
我应该将它放在<head>
还是<body>
中?
请回答以下问题:
- 如果我将其放在
<head>
或HTML代码的任何其他位置会有什么区别? - 如果我有两个CSS(或Javascript)文件怎么办?由于我只能在另一个文件之前包含一个文件,因此Web浏览器将使用哪个文件来显示网页?
当设计网页时,我应该将以下代码放在哪里?
<link rel=stylesheet type="text/css" href="css/layout.css">
我应该将它放在<head>
还是<body>
中?
请回答以下问题:
<head>
或HTML代码的任何其他位置会有什么区别?在我看来,最佳实践是将CSS文件放置在头部
<head>
<link rel="stylesheet" href="css/layout.css" type="text/css">
</head>
在闭合的</body>
标签之前引入Javascript文件。
<script type="text/javascript" src="script.js"></script>
</body>
另外,如果你有两个CSS文件,如你所说。浏览器将使用两个文件。如果这两个CSS文件中有任何选择器,例如.content {}
,且它们相同,则浏览器将使用第二个CSS文件的属性覆盖第一个CSS文件的相似属性。如果理解了就好。
<link />
和 <style />
:你必须将它们放在 <head />
中,不允许放在 <body>
中。 - Albireo<link>
的理由是,如果 CSS 文件不在 <head>
中,浏览器在加载它们时必须重新布局(移动元素),这会干扰用户与页面的交互。而将 <script>
文件放在页面底部,则可以避免大多数情况下浏览器在加载和运行 JavaScript 文件时阻止 HTML 的处理。如果 <script>
标签位于底部,浏览器仍然可以在处理 JavaScript 的同时显示上面所有的 HTML 。需要注意的是,现在不再建议使用 Write() 方法。 - Jon Adams将样式表放在页面顶部 讨论链接
在雅虎公司的性能研究中,我们发现将样式表移动到文档的HEAD部分可以使页面加载速度更快。这是因为将样式表放在HEAD中可以让页面逐步渲染。
关心页面性能的前端工程师希望页面以逐步加载的方式加载;也就是说,我们希望浏览器尽早地显示任何内容。对于具有大量内容且使用较慢互联网连接的用户来说,这尤其重要。给用户提供视觉反馈的重要性,如进度指示器已经得到了充分的研究和记录。在我们的案例中,HTML页面就是进度指示器!当浏览器逐步加载页面时,页眉、导航栏、顶部的标志等都会成为用户等待页面的视觉反馈。这改善了整体用户体验。
将样式表放在文档底部的问题是,在许多浏览器中(包括Internet Explorer),它会阻止渐进式渲染,因为这些浏览器为了避免重新绘制页面元素,会阻止渲染。用户只能看到一个空白的白屏。
HTML规范明确规定样式表应该包含在页面的HEAD中:“与A标记不同,[链接]只能出现在文档的HEAD部分,尽管可以出现任意次数。” 空白的白屏或未经样式处理的内容闪烁都不值得冒险。最佳解决方案是遵循HTML规范并将样式表加载到文档的HEAD中。
将脚本文件放在页面底部
脚本文件导致的问题是它们会阻止并行下载。HTTP/1.1规范建议浏览器每个主机名最多同时下载两个组件。如果您从多个主机名提供图像,则可以使超过两个下载并行进行。然而,在下载脚本时,浏览器不会启动任何其他下载,即使在不同的主机名上也是如此。
在某些情况下,将脚本移至页面底部并不容易。例如,如果该脚本使用document.write来插入页面内容的一部分,则无法将其放在页面底部。还可能存在作用域问题。在许多情况下,有方法可以解决这些问题。<script>
放在<head>
中。然而,有些人会把javascript <script>
放在页面底部,这样页面内容就可以在不等待<script>
的情况下加载,但这是一种权衡,因为脚本执行将延迟到其他资源加载完成后。CSS的引用应该放在head
标签中,在任何js
脚本引用之前。
Javascript可以放在任何位置,但是文件的功能会决定其位置。如果它构建页面内容,请将其放在head
标签中。如果用于事件或跟踪,则可以将其放在</body>
标签之前。
我认为最好的方法是: 1)将CSS文件放在头部标签之间的头部部分。 原因是第一页显示需要该CSS。 2)所有JS文件都应该放在body结束标记之前。 原因是在所有组件显示后,JS才能应用。
您应该将它放在<head>标签中。我通常将样式引用放在JS之前,并按照从上到下的顺序排列我的JS,如果其中一些JS依赖于其他JS,则需要先加载所有引用,然后再渲染页面。
如果您有多个.css或.js文件需要调用,只需一个接一个地将它们包含在其中,或者:
<head>
<link href="css/grid.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
<script src="js/jquery-1.4.4.min.js"></script>
<script src="js/jquery.animate-colors-min.js"></script>
</head>
<head>
<link href="css/grid.css" rel="stylesheet" />
</head>
对于脚本而言,它取决于: