性能,一次为所有CSS服务,还是根据需要服务?

时间:2010-05-19 23:21:24

标签: css performance caching httpwebrequest

据我所知,现在有两种主要技术用于在网站中包含CSS。

A)在一个(压缩)文件中提供网站使用的所有CSS B)提供当前仅被查看的页面上的元素所需的CSS

A的积极因素:网站上使用的整个CSS在首次访问时通过1个http请求进行缓存 A的否定:如果它是一个大文件,最初加载需要很长时间

B的正数:更快的初始加载时间
B的否定:更多HTTP请求,更多要缓存的文件

我在这里缺少什么(根本)?

4 个答案:

答案 0 :(得分:3)

描述它。这取决于用户使用您网站的方式。

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

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

如果不了解用户的实际操作,你无法分辨。

答案 1 :(得分:1)

与许多其他下载的东西(如图像,电影等)相比,即使是一个较大的CSS文件(gzip)也很小。将CSS分解为单独文件的唯一真正原因是交换特殊规则以使某些浏览器表现出来(我正在看着你,IE)。

答案 2 :(得分:1)

没有A B,它总是在两者之间进行权衡。例如:您希望尽快加载首页,因此您只需要提供必要的内容。对于以下页面,您需要剩余的CSS。共有2个请求。

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

这整个故事也适用于JavaScript文件,因为可以进行相同的权衡。

答案 3 :(得分:0)

什么更好?

  1. 编写一个css文件
  2. 编写更多css文件
  3. 什么更好?

    1. 跟踪,保持1 css文件更新
    2. 跟踪,更新更多css文件
    3. 什么是esier?

      1. 决定插入一个css文件的内容
      2. 决定将每个css文件放入什么内容
      3. 与生成一个全局css文件相比,生成每个css文件的成本是多少。

相关问题