CSS @import 最佳实践

8
我正在征求意见,关于处理@import的最佳方式或完全避免它们。在使用DNN时,我发现在为模块和其他覆盖元素设置CSS时可能会非常混乱。将所有CSS倒入一个文件中可能很麻烦,因此我想知道是否最好将它们分开,并在skin.css的顶部导入它们。还有效率的问题,这是否是一个好的权衡。我不是CSS专家,但我认为我可能知道答案,但还是要问一下。有没有办法像.cs文件一样引用各种CSS文件?skin.Events.someElement?那不是很好吗?;-)谢谢。
2个回答

10

最好避免使用@import

根据Steve Souders的说法,将@importlink组合使用或将其嵌入其他样式表中,会导致顺序下载而非并行下载。

还有其他问题。

http://www.stevesouders.com/blog/2009/04/09/dont-use-import/

雅虎也不建议使用@import,并指出:

在IE中,@import的行为与在页面底部使用<link>相同,因此最好不要使用它。

http://developer.yahoo.com/performance/rules.html#csslink

我通常使用一个样式表,并使用link来获取它。

对于特别大的网站,我使用一个主要的样式表,然后为需要额外样式的部分使用较小的样式表,根据需要将这些样式表添加到各个页面中。


8

从纯经验出发:

在工作中,如果您发现使用单个文件很难处理,可以将所有内容分开(reset.css、forms.css、main.css等)。但是,在生产过程中,应将所有内容放在一个文件中,不要导入其他文件,以减少服务器请求和最小化css。

例外情况是如果您想保持主要css免于hack/free pass validation,则需要使用额外的ie.css文件(我也不这样做,因为我的客户中没有人关心验证 - 人们希望它能够正常工作,徽章不是趋势:) - 所以我只在我的main.css中使用一些技巧(#,_等)。


1
+1 为最小化 CSS。随着越来越多的移动设备上线,您的 CSS 文件越小越好。 - JonH

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接