我正在使用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;
}
请帮助压制"图标 - "。
答案 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"));