曾几何时,我被更高级的网络开发人员认为(gee,又是什么时候?))我们应该避免管理多个CSS文件并坚持每个项目一个。它有助于提高页面加载速度,避免在处理大量重叠的CSS规则时出现愚蠢的错误。
我的问题是 - 这种方法仍然有效吗?
关于页面加载性能的争论现在似乎并没有那么多,有着令人敬畏的宽带互联网和具有更强大的缓存功能的聪明的网络浏览器。 CSS级联确实容易出错,但仅适用于没有经验的开发人员,并且有一个CSS样式表并不能真正使我们成为防弹。
我认为我更喜欢将一组默认样式表整齐地分隔成组件,然后通过CSS @import
将它们连接成一个单独的规则。这也允许我默认包含重置样式表。
有人和我在一起吗?
答案 0 :(得分:6)
这不是关于带宽速度,而是关于http请求的数量,这对移动连接很有意义。
然而,使用不同的css文件来保持项目模块化的方法是可靠的,因为它可以帮助您按照自己的方式组织css,而不必将所有代码都放在一个文件中。然后,您可以从css预处理器/ minifiers中受益,将所有css文件连接并压缩到一个文件中进行生产。
这篇文章http://www.igvita.com/2012/06/14/debunking-responsive-css-performance-myths/
有一个关于移动设备的段落,它解释了为什么这是一个好习惯:
最好在最初的热身连接中一次性下载所有CSS内容。通过这样做,您还可以帮助用户延长电池寿命。如果这里有一个优化,那么它就是:连接和压缩。
答案 1 :(得分:1)
是的,这种方法仍然有效。有很多关于负载优化的文章,但总体思路如下
较少的文件=减少对服务器的http请求=更好的负载性能
随着时间的推移发生变化的主要事情是,现在有许多工具支持在运行时将多个文件合并为单个文件。因此,您可以使用单独的样式表来更好地进行组织,在开发时进行调试,这些工具可以在生产中合并,缩小和设置正确的缓存头。
答案 2 :(得分:0)
我同意你的观点,我发现没有理由只保留一张css表了,现在,我完全按照你刚才的说法,按组件分离,加上延迟加载:)(php if statements等)。
答案 3 :(得分:0)
我将带有评论的内容分开。例如div转到/ * Divs start * / div#somediv / * Divs end * / / *动画开始* / / *动画结束* /。对我来说,这比完成项目后合并不同的CSS文件要容易