【发布时间】:2014-10-02 18:22:41
【问题描述】:
我正在使用svgo,但遇到了一个奇怪的问题,它正在杀死我的填充颜色,但前提是它是#000000;或任何类型的变体,black、#000。我尝试将removeUselessStrokeAndFill 设置为false,但它继续仅删除该颜色。用不同的东西编辑 src .svg 文件可以保持填充颜色。有没有我缺少的设置?谢谢!
【问题讨论】:
我正在使用svgo,但遇到了一个奇怪的问题,它正在杀死我的填充颜色,但前提是它是#000000;或任何类型的变体,black、#000。我尝试将removeUselessStrokeAndFill 设置为false,但它继续仅删除该颜色。用不同的东西编辑 src .svg 文件可以保持填充颜色。有没有我缺少的设置?谢谢!
【问题讨论】:
不,你做得对。实际上在 svgo 上有一个关于此的问题 #115。
要解决此问题,您必须将颜色设置为另一种黑色,black 越接近真实的#000001。因此,您可以在 svg 中更改所有对黑色的引用,等待修复,或者更好的事件,安装 gulp-replace 并执行以下操作:
gulp.task('blackify', function () {
return gulp.src('*.svg')
.pipe(replace('#000000', '#000001'))
.pipe(gulp.dest('./'));
});
【讨论】:
澄清一下,这实际上是 SVGO 的正确行为,因为 SVG 的默认填充和描边颜色是黑色,因此如果将其重新声明为填充则无用。这就是它从输出中删除的原因。任何其他非默认填充将按预期保留。
【讨论】: