less实现小图自动合并大图
1. 执行安装命令: cnpm install grunt-spritesmith --save-dev //在package.json里自动生成"grunt-spritesmith": "^4.6.0"
2. 查找配置文件:通过npm官网,找到geetting started配置文件,将代码sprite那段拷入grutefile.js文件
sprite:
all:
src: 'path/to/your/sprites/*.png'
dest: 'destination/of/spritesheet.png'
destCss: 'destination/of/sprites.css' //自动生成的图片的css或者less
"algorithm":"top-down" //摆放图片的顺序,默认为从左到右
"padding": 20, //图片与图片之间的间距
"cssFormat": "less" //你希望保存的destCss的文件的格式
sprite: { all: { "src": '<%= pkg.path %>/images/icon/*.png', "dest": '<%= pkg.path %>/dist/img/spritesheet.png', "destCss": '<%= pkg.path %>/less/common/icon_sprite.less', // "algorithm":"top-down" "padding": 20, "cssFormat": "less" }, second: { "src": '<%= pkg.path %>/images/*.png', "dest": '<%= pkg.path %>/dist/img/2.png', "destCss": '<%= pkg.path %>/less/common/icon_sprite_2.less', // "algorithm":"top-down" "padding": 20, "cssFormat": "less" }, } grunt.loadNpmTasks('grunt-spritesmith'); grunt.registerTask('imageSprite', ['sprite']);
到此只要在html中以同样的class命名,就可以定位图片了。
注: 若要生成两个合并图,可以再写一个second。