您的位置:首页 > Web前端 > CSS

grunt-spritesmith自动生成雪碧图

2017-04-20 21:17 459 查看
grunt-spritesmith

自动生成雪碧图和样式,解决以下问题:

1. 依赖做图软件
2. 维护css成本高
3. 浪费开发时间


安装

npm install grunt-spritesmith --save-dev


集成至Gruntfile.js

grunt.initConfig({
sprite: {
icIcons: {
src: ['manage/modules/ic-icons/images/*.png'], //素材图片
retinaSrcFilter: ['manage/modules/ic-icons/images/*@2x.png'], //匹配两倍素材图
dest: 'manage/modules/ic-icons/sprite/icons.png', // 默认雪碧图输出路径
retinaDest: 'manage/modules/ic-icons/sprite/icons@2x.png',  // 两倍雪碧图输出路径
destCss: 'manage/modules/ic-icons/sprite/icons.less', // 雪碧图less输出路径,也支持输出css
imgPath: './../../modules/ic-icons/sprite/icons.png', //默认雪碧图在css中url引用路径
retinaImgPath: './../../modules/ic-icons/sprite/icons@2x.png', // 两倍雪碧图在css中url引用路径
cssVarMap: function(sprite) {
sprite.name = 'm-ic-icon.m-ic-icon-' + sprite.name;
//定义图标class名称,例如 del.png对应 m-ic-icon.m-ic-icon-del
}
}
}
});

grunt.loadNpmTasks('grunt-spritesmith');


业务集成

不支持retina屏

@import "sprite/icons.less";
.sprites(@spritesheet-sprites);


支持retina屏

@import "sprite/icons.less";
.retina-sprites(@retina-groups); //


当然这个插件也支持定义雪碧图的样式模块,雪碧图质量等等了解更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  雪碧图 css 图片优化