使用动态GIF作为CSS精灵(sprites)是一个好的实践吗?

8

我有一个网站,当你将鼠标悬停在它们上面时,会弹出动画图标。

但是我认为这可能会导致浏览器的图形性能不佳。我可以将动画图标放入精灵中,将非动画图标放入另一个精灵中,但这有什么意义呢?这样一来,精灵就不再有用了。您是否建议使用手动放置在精灵中的脚本来使图标动画起来?

您有什么建议?因为我需要良好的性能。


1
是的,我无法想象这里会有任何冲突。 - alt
这与尺寸有关。当您从静态精灵转换为具有动画部分的精灵时,尺寸会以多大的绝对值和百分比增加? - Šime Vidas
3个回答

5

不要猜测,测试!认真对待。只要动态GIF的尺寸合理,我想这不会成为一个大问题。然而,找出最好的方法是尝试一下。试着使用Chrome或Safari的Web Inspector来评估使用各种策略(无动画、动画图标在单独的文件中、所有内容都在一个图像中)的页面加载时间,并查看哪个表现最佳。如果没有太大差异,请选择最简单的一种。如果性能成为问题,你总是可以随时更改。


2

gif压缩格式比较棘手,因为所有的空白部分不像jpg或png(逐位)那样处理。但是随着动画数量和颜色数量的增加,gif格式将开始崩溃。你应该测试单个大小与精灵图像大小之间的比较。移动精灵的性能实际上不应该成为问题,但是正如其他答案所说,您需要在不同的浏览器和形态因素下进行测试。


1

自从几乎开始使用互联网(www)的时候,所有主流浏览器都支持动画GIF。这已经有20年之久了。除了像Lynx这样不支持图形的浏览器外,我很惊讶现代浏览器会对此感到担忧。

如果帧速率过高,某些浏览器可能会出现问题,但这显然不是您展示的这些图标的情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接