在移动网站上使用“Mega CSS Sprites”有什么缺点?

时间:2014-12-30 18:55:22

标签: html css mobile standards css-sprites

我正在为我的移动网站创建一个占星页面。

以下是我正在使用的图片资源的详细信息。

  1. 有24(12 + 12)个星座图像(选择/悬停模式+12)
  2. 每张图片的尺寸大约> 3.5kb
  3. 尺寸:106 x 108
  4. 格式:png
  5. 现在我将每个渲染为单独的图像文件。

    我已经阅读了很多关于使用精灵的建议,例如: http://alistapart.com/article/spritesWhy should I use sprites on my mobile site?

    但我的问题是关于使用" Mega CSS Sprites"专门用于"移动网站"以及它们的缺点(除了维护之外)。

    提前致谢。

1 个答案:

答案 0 :(得分:0)

除可维护性外,还有一些缺点包括:

1。由于错过优化,许多png集的文件大小更大。

我在Mac上使用Image Alpha,它允许您通过限制它的调色板来压缩png,我确定有类似的Windows工具。许多png可以限制在256种,128种甚至64种颜色而不会降低质量,因为它们的调色板并不广泛。

这通常会将文件大小减少50%或更多,而且您通常无法使用图像精灵来处理,因为会合并更多图像。

2。你没有能力使用一些方便的CSS大小/放置技术。

您无法使用以下内容:background: containbackground: cover来调整背景图片的大小。

将背景图片置于一个框中会更加困难,因为您无法使用background-position: left center等。

计算background-size: 80%等也会变得诡计多端。你仍然可以,它只是在精灵表的大小改变时改变,你最终可能会根据位置显示精灵的其他位。

3。加载可能显得较慢。

虽然请求较少,但浏览器必须先下载更多数据才能使用精灵显示任何图像。这意味着右上角的徽标可能作为单个文件显得更快,因为在浏览器仍在请求其他文件时,它将被下载并显示。

我已经看到过这种情况,但效果很少引起注意。


这些和可维护性开销的组合通常使我无法使用广泛的精灵图像,但我仍然通常将默认和悬停状态组合成一个精灵,或者一组相似颜色调色板中的相关图像。