gulp.spritesmith来压制" icon - "生成的css文件中的前缀

时间:2015-07-10 17:19:01

标签: gulp grunt-spritesmith

我正在使用gulp.spritesmith来自动执行精灵图像和css生成。一切都很好,除了生成的css是haivng" icon - "字首。我不想添加此前缀,因为我有现有的HTML标记,并且我不想更改标记。 以下是我的一项任务。

'use strict';
var gulp = require('gulp');
var spritesmith = require('gulp.spritesmith');


gulp.task('sprite', function () {    

    var spriteData =
            gulp.src('./sprite/*.*') // source path of the sprite images
            .pipe(spritesmith({
                imgName: 'sprite.png',
                cssName: 'sprite.css'
            }));

    spriteData.img.pipe(gulp.dest("./css")); // output path for the sprite
    spriteData.css.pipe(gulp.dest("./css")); // output path for the CSS
});

以下是我生成的CSS。

.icon-icon1 {
  background-image: url(sprite.png);
  background-position: 0px 0px;
  width: 120px;
  height: 120px;
}
.icon-icon2 {
  background-image: url(sprite.png);
  background-position: -120px 0px;
  width: 120px;
  height: 120px;
}

请帮助压制"图标 - "。

2 个答案:

答案 0 :(得分:27)

您也可以使用库的cssSelector

cssOpts: {
  cssSelector: function (sprite) {
    return '.' + sprite.name;
  }
}

答案 1 :(得分:2)

您可以使用gulp-replace删除"图标 - "前缀。

sprite任务的最后一行将成为

spriteData.css
  .pipe(replace(/^\.icon-/gm, '.'))
  .pipe(gulp.dest("./css"));