安装 Compass 和 Sass 环境,通过 gem install compass 初始化项目;2. 将小图标放入 images/icons 目录;3. 在 Sass 中导入 Compass Sprite 模块并引入图标,自动生成雪碧图和样式;4. 可设置间距、布局及生成特定图标类,提升页面加载速度。

使用 CSS Compass 与 Sprite 制作图片精灵是一种高效管理小图标的方式,能减少 HTTP 请求,提升页面加载速度。Compass 是一个基于 Sass 的 CSS 框架,内置了强大的 Sprite 生成工具,只需几步就能自动生成雪碧图(Sprite)和对应的样式。
1. 安装 Compass 和 Sass 环境
确保系统已安装 Ruby 和 Sass,然后通过命令行安装 Compass:
gem install compass
创建一个项目目录并初始化 Compass:
立即学习“前端免费学习笔记(深入)”;
compass create my-project
这会生成基本的配置文件 config.rb 和 sass 目录结构。
2. 准备图标图片
将所有需要合并成精灵图的小图标放入指定的图像文件夹中,例如:
project/images/icons/
支持 PNG、GIF、JPG 等格式,建议统一使用 PNG 以保证透明度兼容性。
3. 使用 Compass 自动生成 Sprite
在 Sass 文件中引入 Compass 的 Sprite 工具。假设你的图标都在 icons 文件夹下:
@import "compass/utilities/sprites";
@import "icons/*.png";
@include all-icons-sprites;
这段代码做了三件事:
- 导入 Compass 的 Sprite 功能模块
- 导入 icons 目录下所有 PNG 图片
- 生成每个图标对应的 CSS 类,并合并为一张雪碧图
编译后,Compass 会自动在 images 目录生成类似 icons-s89f3d4e.png 的精灵图,并输出相应的 background-position 样式。
4. 自定义图标类与布局
你可以控制图标的命名、间距和显示方式。例如设置水平排列并添加间隔:
$icons-spacing: 10px;
$icons-layout: horizontal;
也可以为特定图标生成单独的样式:
.icon-home { @include icons-sprite(home); }
这会生成仅包含 home 图标的 class,适合语义化使用。
基本上就这些。只要图片放对位置,Sass 引入正确,Compass 会自动完成合并与样式输出,开发维护都非常方便。










