SVGO: Killing #000000 fill



我正在使用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的默认填充和笔划颜色是黑色的,因此如果重新声明为填充,就没有用了。这就是它从输出中删除的原因。任何其他非默认填充都将按预期单独保留。

请参阅:http://www.w3.org/TR/SVG/painting.html#FillProperties

相关内容

  • 没有找到相关文章

最新更新