精灵图的主要目的是减少页面上绘制元素时向服务器发送的http请求吗?还是你想尝试将尽可能多的元素放入精灵图中。
我的问题是:精灵图什么时候会太大呢?
精灵图的主要目的是减少页面上绘制元素时向服务器发送的http请求吗?还是你想尝试将尽可能多的元素放入精灵图中。
我的问题是:精灵图什么时候会太大呢?
当用户在页面可以使用之前必须等待文件下载完成时,这会使页面过大。
如果您正在使用PNG作为雪碧图的图像类型,需要记住每一行通常是独立于其他行进行压缩(deflated)的。
因此,为了平衡每个雪碧图中精灵的数量和图像大小,请尽量将相似的精灵水平排列在一起,以利用压缩。
PNG还支持“预测器”(predictors),它们仅存储预测值(基于前面的行和同一行中前面的像素)与实际值之间的差异。
寻找一个良好的图像编辑器,可以设置不同的PNG预测器压缩设置(或自动优化)来找到最适合您图像的设置。
您可以将所有小的静态设计元素打包成一个主图像,而不会遇到大问题。
当然,如果您的网站上有1000万像素的照片,将它们打包在一起就是疯狂的。
CSS精灵在包含除必要的UI元素以外的内容时会变得太大。这些是小的补充图像,如图标和徽标,其中压缩不会对质量造成太大影响。由于所有这些图像本来都将独立加载,因此您不会比单独请求它们更糟糕。如果加载时间过长,则问题并不在于精灵,而在于正确压缩您的图像。
是的,主要目的是减少请求(从而减少加载时间)。另一个优点是您只需要担心一个图像被正确缓存。提示:使用PNG图像,因为它们的压缩可以最好地处理大面积的白色(“空白”)区域。
谷歌地图使用[256x256]像素的图片。