【问题标题】:Techniques for Modular CSS模块化 CSS 技术
【发布时间】:2011-04-28 21:16:33
【问题描述】:
我想开始使用模块化 CSS,但我无法找出实现它的最佳方式。我在想我可以只使用bridging technique,在我的HTML 中有一个,然后为每个模块使用@import 语句。虽然我喜欢这种方法的简单性,但我担心它对性能的负面影响,因为@import-ed 样式表将稍后下载,而不一定是并行下载。所以我想知道是否还有其他流行的技术来实现模块化 CSS。我真的不想做多个标签,因为 PageSpeed 和 Yslow 抱怨太多样式表(尽管我知道它实际上比 @import 更有效)。理想情况下,我想在服务器上将样式表合并为一个,因此浏览器只请求一个样式表。
【问题讨论】:
标签:
html
css
performance
modular
【解决方案1】:
这里绝对推荐使用服务器端包含将您的“模块”组装到服务器端的一个样式表中。在服务器上也有某种缓存,因此它不必对每个请求都进行组装。有很多可用的技术,但您的消息不包含有关您的软件堆栈的任何内容。
【解决方案3】:
请非常小心如何执行此操作。缓存是您的朋友,如果您选择交付专用的、服务器端生成的 CSS 页面,您将失去缓存的好处。这是经典的鸡和蛋问题。您是预加载和缓存所有 CSS 并预先获得点击,还是自定义加载每个页面并在每次页面更改时产生点击?只有你知道什么是最好的。
在这方面不要太过分。我曾在大型商店工作过,其中微小的微小变化导致每天 5 gig 的改进(具有数百万个唯一身份)......但我工作过的大多数网站根本看不到多少收益。如果你手头有时间,那就发疯吧。否则,请根据需要调整您的响应。那些优化器报告理想条件,我们都知道现实生活中并非如此。尝试在某些主要网站上运行优化器(也不要错过尝试验证它们)为网络极客带来很好的乐趣。