css精灵制作
什么是CSS精灵
CSS精灵(CSS Sprites)是一种将多个小图标或图片合并到一张大图中的技术,通过CSS的background-position属性来定位显示需要的部分。这种技术可以减少HTTP请求次数,提升页面加载性能。
制作CSS精灵的步骤
准备图片素材 将需要合并的小图标或图片整理好,确保它们的尺寸和风格一致。通常使用PNG格式以保证透明效果。
合并图片 使用图像编辑工具(如Photoshop、GIMP或在线工具)将所有小图合并到一张大图中。排列时注意留出足够的间距,避免裁剪时出现边缘问题。常见的排列方式有横向排列、纵向排列或矩阵排列。
编写CSS代码
为每个小图定义CSS类,通过background-image引用合并后的大图,并使用background-position调整显示位置。例如:
.icon-home {
width: 32px;
height: 32px;
background-image: url('sprites.png');
background-position: -64px -128px;
}
优化技巧
合理命名CSS类
使用语义化的类名(如.icon-home而非.icon-1),便于后期维护。
控制图片大小 避免将过多图片合并到一张大图中,否则可能反而影响加载性能。可以按功能或页面模块分组合并。
使用工具自动化
借助工具如SpriteCow、Glue或Webpack的spritesmith插件,自动生成精灵图和对应的CSS代码。
注意事项
Retina屏幕适配
为高清屏准备两倍尺寸的精灵图,通过background-size缩小显示。例如:
@media (-webkit-min-device-pixel-ratio: 2) {
.icon {
background-image: url('sprites@2x.png');
background-size: 200px 200px;
}
}
避免内容重叠 合并时检查各小图的边缘是否清晰,防止因间距不足导致相邻图片部分显示。

缓存策略 由于精灵图通常不会频繁更新,可设置较长的缓存过期时间,进一步提升性能。






