或者这只是个人喜好?我想问的是,使用这两种方法都有什么特别的好处吗?
<link href="main.css" rel="stylesheet" type="text/css">
对比
<style type="text/css">
@import url('main.css');
</style>
发布于 2009-09-30 02:06:35
根据雅虎的Best Practices for Speeding Up Your Web Site,总是使用<link>
而不是@import
。有关更详细的信息,请访问this blog post。
在IE (在6、7和8上进行了测试)中,
@import
导致按顺序下载样式表。并行下载资源是实现更快页面的关键。IE中的这一行为会导致页面需要更长的时间才能完成。
使用<link>
允许浏览器打开其他连接,从而减少加载时间。
发布于 2009-09-30 02:04:52
简化版- @import
在旧浏览器中不受支持,在某些情况下,某些常用浏览器(IE6 和 IE7)存在问题,当它工作时,在不同的浏览器中可能会有不同的行为,并且与<link>
相比没有优势。
长版本?你想使用<link>
,但是有几个场景(现在大部分是不相关的)使用@import
是有意义的。来自What's the Difference Between @import and link for CSS?
使用@import的最常见原因是因为较旧的浏览器无法识别@import,所以您可以对它们隐藏样式。
这就是说要对IE4隐藏一些东西,这就是为什么我说“几乎不相关”。其中一个案例对IE6隐藏了一些东西,但使用Conditional comments更好。
在Using the CSS @import Rule中有一个更现代(也更相关)的比较
nternet Explorer (您知道它最终会出现)不能很好地处理指定媒体类型-它会阻塞。基本上,IE (版本4-7)试图读取媒体类型,就像它是文件名的一部分一样,导致整个系统崩溃。因此,如果不希望CSS的默认媒体类型为“all”,最好结合使用标记和导入-在链接中指定媒体类型,然后在要链接的文件中导入相应的CSS。我还没有听说IE8是否也有同样的问题(如果你碰巧知道,请在评论中告诉我!)
另一个消息来源是雅虎的Best Practices for Speeding Up Your Web Site
先前的最佳实践之一指出,CSS应该位于顶部,以便允许渐进式呈现。
在IE中,@import
的行为与在页面底部使用相同,因此最好不要使用它。
但并没有真正解释其中的原因(因此有前面的链接)。
https://stackoverflow.com/questions/1495791
复制相似问题