gulp.spritesmith使用总结
来源:互联网 发布:手机区域截图软件 编辑:程序博客网 时间:2024/06/05 10:32
gulp.spritesmith
npm地址: https://www.npmjs.com/package/gulp.spritesmith
我使用的版本: ^6.7.0
合并雪碧图, 假定需要合并的小图为CONFIG.src + '/img/slice/*.png'
,
具体情况自己配置即可.
gulp.task('sprite', function() { var spriteData = gulp.src(CONFIG.src + '/img/slice/*.png') .pipe(plugins.spritesmith({ imgName: 'sprite.png', // 生成的雪碧图的路径 cssName: '../less/_sprite.less', // 生成less文件, 方便引用 imgPath: '../img/sprite.png', // 手动指定路径, 会直接出现在background属性的值中 padding: 4, // 小图之间的间距, 防止重叠 cssFormat: 'css', // less文件内容以css的格式输出 // 这个选项用来重新命名生成的类名 // 如果不配置, 会自动添加 icon- 前缀 // 参见https://github.com/Otouto/gulp-spritesmith/issues/10 // cssOpts: { // cssSelector: function(sprite) { // return '.i-' + sprite.name; // } // }, // 手动指定模板 cssTemplate: (data) => { // data为对象,保存合成前小图和合成打大图的信息包括小图在大图之中的信息 let arr = [], width = data.spritesheet.px.width, height = data.spritesheet.px.height, url = data.spritesheet.image; arr.push(`.icon { display: inline-block; vertical-align: middle; background: url("${url}") no-repeat;}`); data.sprites.forEach(function(sprite) { arr.push(`.i-${sprite.name} { width: ${sprite.px.width}; height: ${sprite.px.height}; background-position: ${sprite.px.offset_x} ${sprite.px.offset_y}; background-size: ${sprite.px.width} ${sprite.px.height};}`); }); return arr.join(''); } })); return spriteData.pipe(gulp.dest(CONFIG.dist + '/img'));});
事实上, 有了cssTemplate这个配置项, 想怎么生成都可以, 看实际需要.
欢迎补充指正!
阅读全文
0 0
- gulp.spritesmith使用总结
- gulp.spritesmith <gulp插件>
- webpack和gulp使用总结
- gulp总结
- gulp总结
- gulp总结
- 用gulp的spritesmith插件,可以自动化生成雪碧图,还可以自动生成样式以及定位。
- Gulp 使用
- gulp使用
- gulp使用
- gulp使用
- gulp使用
- 使用Gulp
- gulp使用
- gulp使用
- gulp-gulp使用小结(一)
- 使用 gulp 搭建前端环境之 ionic 项目实践总结
- gulp使用总结(不加return后果很严重)
- java
- matplotlib绘图
- 关于数组的升序排列
- 评价成绩
- java
- gulp.spritesmith使用总结
- Android应用界面组件(中)
- Boostrap 笔记
- SpringMVC的常见的使用方法
- XGBoost的以mae作为优化目标探究
- nginx中配置https的服务页面中引用http资源问题
- Android应用界面组件(下)
- Python基础-报错处理try和raise机制
- Advanced Programming in UNIX Environment Episode 19