html - 移动站点使用 'Mega CSS Sprites' 有什么缺点?

标签 html css mobile standards css-sprites

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

这里是图片资源的详细信息,我正在使用。

  1. 有 24 (12+12) 张占星图(选择/悬停模式为 +12)
  2. 每张图片的大小约为 >3.5kb。
  3. 尺寸:106 x 108
  4. 格式:png

现在我将它们中的每一个渲染为单独的图像文件。

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

但我的问题是关于专门针对“移动网站”使用“Mega CSS Sprites”及其缺点(除了维护)。

提前致谢。

最佳答案

除了可维护性,其他一些缺点包括:

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

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

这通常会将文件大小减少 50% 或更多,而且您通常不能使用图像 Sprite 来做到这一点,因为合并了更多图像。

2。您失去了使用一些方便的 css 大小调整/放置技术的能力。

您不能使用诸如background: containbackground: cover 之类的东西来调整背景图片的大小。

很难将背景图像置于框中,因为您不能使用 background-position: left center 等。

计算 background-size: 80% 等,也变得很棘手。您仍然可以,它只是在 sprite 表的大小发生变化时发生变化,并且您最终可能会根据位置显示 sprite 的其他部分。

3。加载可能速度较慢。

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

我见过这种情况,但效果很少明显。


这些和可维护性开销的结合通常使我无法使用大量的 sprite 图像,尽管我仍然通常将默认和悬停状态组合到一个 sprite 或一组具有相似调色板的相关图像中。

关于html - 移动站点使用 'Mega CSS Sprites' 有什么缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27710960/

相关文章:

JavaScript 平滑滚动不起作用

html - 更改ioslides封面字幕的字体颜色

html - 在 Linux 上创建到本地可移动存储设备的 href 链接

html - 在不同浏览器上检查网页外观的方法

javascript - 如何在选择标签旁边添加按钮

java - 如何在Android中获取任意时区的具体时间?

javascript - 如何将 HTML5 Canvas 存储为帧列表中的图像?

javascript - 需要拖放帮助

android - 承载 token 请求 http flutter

仅适用于移动设备的 CSS