我正在使用svgo,遇到了一个奇怪的问题,它正在扼杀我的填充颜色,但前提是它是#000000
;或者该种类的任何变体,black
、#000
。我已经尝试将removeUselessStrokeAndFill
设置为false
,但它仍然只删除该颜色。使用不同的内容编辑src .svg
文件可以保持填充颜色。我缺了什么布景吗?谢谢
要解决这个问题,你必须将你的颜色设置为另一种黑色,越接近真正的black
就是#000001
。因此,您可以在svg中将所有黑色引用更改为此,等待修复或事件更好,安装gulp-replace并执行类似操作:
gulp.task('blackify', function () {
return gulp.src('*.svg')
.pipe(replace('#000000', '#000001'))
.pipe(gulp.dest('./'));
});
要澄清的是,这实际上是SVGO的正确行为,因为SVG的默认填充和笔划颜色是黑色的,因此如果重新声明为填充,就没有用了。这就是它从输出中删除的原因。任何其他非默认填充都将按预期单独保留。
请参阅:http://www.w3.org/TR/SVG/painting.html#FillProperties