外链式引入位置问题

为什么把CSS的<link>标签放在<head></head>之间?

把<link>标签放在<head></dead>之间是规范要求的内容。此外,这种做法可以让页面逐步呈现,提高用户体验。

如果把样式表放在底部的话,会使很多浏览器不能逐步呈现页面、一些浏览器会阻止渲染,以避免页面发生变化时,重新绘制页面中的元素。

这种做法可以防止呈现给用户空白的页面或者没有样式的内容。

 

为什么<script></script>便签放在</body>之前?

因为脚本下载或者执行的期间会阻止HTML解析。

把便签放在底部,保证HTML首先完成解析,将页面尽早呈现给用户。

 

例外情况:

如果脚本中包含document.write()时(该命令不推荐使用),页面就不能被及时渲染,直到所有的HTML被解析完毕之后。

这时候外链标签就应该放在<head></head>中,使用defer属性。

defer 属性规定是否对脚本执行进行延迟,直到页面加载为止。