css精灵制作
CSS 精灵制作方法
CSS 精灵(CSS Sprites) 是一种将多个小图标或图片合并到一张大图中,通过 CSS 背景定位技术来显示特定部分的技术,能有效减少 HTTP 请求,提升页面加载速度。
准备工作
-
收集素材
将需要合并的小图标或图片整理到一个文件夹中,确保它们的尺寸和格式(通常为 PNG 或 SVG)一致。 -
确定排列方式
根据图片数量和大小,选择横向、纵向或网格排列方式。常见的工具(如 Photoshop 或在线生成器)可自动完成排列。
合并图片
-
手动合并
使用图像编辑软件(如 Photoshop、GIMP)将所有小图拼合到一张大图中,保存为sprites.png或类似文件名。 -
在线工具生成
通过工具如 SpriteCow 或 Toptal CSS Sprite Generator 自动合并图片并生成 CSS 代码。
编写 CSS 代码
-
定义公共样式
为所有使用精灵图的元素设置公共背景属性:.icon { background-image: url('sprites.png'); background-repeat: no-repeat; display: inline-block; } -
定位单个图标
通过background-position调整坐标,显示大图中的特定部分。例如:.icon-home { width: 32px; height: 32px; background-position: 0 0; /* 第一个图标 */ } .icon-settings { width: 32px; height: 32px; background-position: -32px 0; /* 第二个图标,横向偏移 */ }
使用示例
在 HTML 中通过类名调用:

<span class="icon icon-home"></span>
<span class="icon icon-settings"></span>
优化建议
-
预留间距
合并时在图标间留 1-2 像素间隙,避免边缘像素被截取。 -
压缩图片
使用工具如 TinyPNG 压缩精灵图,减少文件体积。 -
响应式适配
结合background-size缩放精灵图,适配高分辨率屏幕:.icon { background-size: 200px 100px; /* 原始大图尺寸的一半 */ }
注意事项
- 避免合并过多图片,导致单张精灵图过大。
- 动态加载的图标不适合用精灵图,推荐使用 SVG 或字体图标。
- 定期检查精灵图利用率,移除未使用的图标。






