2010-05-19 33 views
2

据我所知,现在有两种主要的技术用于在网站中包含CSS。性能,一次提供所有CSS,还是根据需要提供?

A)提供一个用于由网站的所有CSS(压缩)文件 B)为需要由当前正被观看仅

积极因素对于A中的页面上的元素提供的CSS:整个在网站上使用CSS通过1个http请求
否定缓存在第一次访问了答:如果它是一个大的文件,这将需要很长时间才能开始加载

积极因素对B:更快的初始加载时间
否定对于B:更多HTTP请求,更多要缓存的文件

有什么(基本),我在这里失踪?

+0

我相信你不会错过任何必要的东西。有些东西像并行下载,但除非你将图像存储为数据 - uri,那么这是可以忽略的。 – 2010-05-19 23:48:19

回答

3

简介它。这取决于您的用户使用您的网站的方式。

如果它是一个Web应用程序,并且您的用户可能会与其进行很多交互并且看到您设计的大部分布局,那么您可能希望使用一次加载一次然后存储在浏览器缓存中的CSS。在这种情况下,首次开销可以忽略不计。

如果您的大多数用户使用冷藏缓存,只查看两三页,单独的CSS文件可能会改善他们的体验。

如果不看看用户实际做了什么,就无法分辨。

+0

+1这是关于你的观众如何使用你的网站。 – 2010-05-20 01:17:44

0

有什么更好?

  1. 写一个CSS文件
  2. 写更多的css文件

有什么好?

  1. 跟踪,保持1个css文件更新
  2. 跟踪,保持更多的css文件更新

什么esier?

  1. 做决定什么插入到一个css文件
  2. 决定要放什么东西在每一个你的CSS文件

什么比产生一个全局CSS文件生成每个单独的css文件的费用。

+0

这些都是好的,但是与我的个人工作流程无关,我倾向于将CSS写入partials(已经分开),所以编写,跟踪和包含这些内容是很费力的。 – 2010-05-19 23:44:56

1

即使是一个大的CSS文件,gzipped,与其他很多事情(如图片,电影等)下载相比,是微不足道的。将CSS分解为单独文件的唯一真正原因是交换特殊规则以使某些浏览器行为正常(我在看你,IE)。

1

没有A B,它总是两者之间的折衷。例如:您希望首页尽快加载,因此您只需要请求。对于以下页面,您可以请求剩下的CSS。共有2个请求。

实质上,您正在创建相关CSS的包/组。通过动态组合和压缩这些软件包,您可以创建可维护的文件结构。这也使您能够实验速度,性能,请求和带宽的最佳组合...

这整个故事也适用于JavaScript文件,因为可以做出相同的折衷。

相关问题