css sprites制作
CSS Sprites 制作方法
CSS Sprites 是一种将多个小图片合并成一张大图的技术,通过背景定位(background-position)来显示特定部分,减少 HTTP 请求,提升页面加载性能。
![]()
准备素材
将需要合并的图标、按钮等小图片整理到一个文件夹中,确保图片尺寸相近或风格统一。推荐使用 PNG 格式以支持透明背景。
![]()
合并图片
使用图像编辑工具(如 Photoshop、GIMP)或在线工具(如 SpriteCow、Toptal Sprite Generator)将所有小图拼接为一张大图。
注意事项:
- 图片之间保留适当间距,避免裁剪问题。
- 大图尺寸不宜过大,通常不超过 2000x2000 像素。
- 记录每张小图在大图中的坐标位置(X/Y 值)。
编写 CSS 代码
为每个小图定义 CSS 类,通过 background-position 定位显示区域。
示例代码:
.icon {
background-image: url('sprites.png');
background-repeat: no-repeat;
display: inline-block;
width: 32px;
height: 32px;
}
.icon-home {
background-position: 0 0; /* 第一个图标位于左上角 */
}
.icon-settings {
background-position: -32px 0; /* 第二个图标向右偏移 32px */
}
优化与自动化
- 工具推荐:使用自动化工具如 Gulp、Webpack 的
spritesmith插件,自动生成图片和 CSS 代码。 - 响应式适配:通过
background-size缩放雪碧图适配高清屏(Retina)。
注意事项
- 避免频繁更新的图片使用 Sprites,每次修改需重新生成整张大图。
- 动态内容(如用户头像)不适合此技术。
- 测试不同浏览器的兼容性,尤其是旧版本 IE。






