首先我知道标题说这是一个问题here,here和here的重复问题。我在这个主题上读到的所有内容都已超过两年了。那个时期有很多变化,所以同样的想法仍然可取吗?
这是一个例子,我在样式表中使用@import来引入我的重置CSS和其他几个样式。我应该将其从@import
更改为<link>
吗?根据这个article,我应该使用链接。所以我问其他开发者,到目前为止最合适的方式是什么(2011年8月25日)
答案 0 :(得分:68)
如果在过去的一两年内发生了任何变化,那就不多了,从那时起我们仍在处理很多相同的浏览器,所以你不应该改变你的做法。
<link>
在所有情况下都优先于@import
,因为后者会阻止并行下载,这意味着浏览器会在开始下载其余内容之前等待导入的文件完成下载。
您可以在此处详细了解:
http://www.stevesouders.com/blog/2009/04/09/dont-use-import/
所以,虽然@import
可能很方便,但这就是它所提供的一切。如果你真的想利用快速加载时间,请使用最少数量的样式表(在大多数情况下可能只有一个),用高效的选择器编写好的CSS(常用的东西),缩小它并使用<link>
标签
这将是一个评论,但它太长了:
而不是@import
(我知道 非常方便),您应该在网站上线时将文件合并为一个。你不应该在那时进行调整,并且有许多工具可以帮助缩小它。就个人而言,使用PHP,我有一个配置文件,我在其中定义所有写入单独CSS文件的CSS文件(我将在<link>
标签中引用的文件),然后如果缓存版本是旧的(或者手动或自动确定),它组合/缩小它们并将内容写入“缓存”文件,并返回时间戳查询字符串以附加到CSS文件名以强制重新下载。
如果你也使用PHP,我强烈推荐cssmin,它可以解析@import
的样式表并将内容拉成一个文件,并处理缩小的所有方面。