【问题标题】:SVGO: Killing #000000 fillSVGO:杀死 #000000 填充
【发布时间】:2014-10-02 18:22:41
【问题描述】:

我正在使用svgo,但遇到了一个奇怪的问题,它正在杀死我的填充颜色,但前提是它是#000000;或任何类型的变体,black#000。我尝试将removeUselessStrokeAndFill 设置为false,但它继续仅删除该颜色。用不同的东西编辑 src .svg 文件可以保持填充颜色。有没有我缺少的设置?谢谢!

【问题讨论】:

    标签: svg gulp gruntjs svgo


    【解决方案1】:

    不,你做得对。实际上在 svgo 上有一个关于此的问题 #115

    要解决此问题,您必须将颜色设置为另一种黑色,black 越接近真实的#000001。因此,您可以在 svg 中更改所有对黑色的引用,等待修复,或者更好的事件,安装 gulp-replace 并执行以下操作:

    gulp.task('blackify', function () {
      return gulp.src('*.svg')
        .pipe(replace('#000000', '#000001'))
        .pipe(gulp.dest('./'));
    });
    

    【讨论】:

    • 太棒了!感谢您引用该问题。
    【解决方案2】:

    澄清一下,这实际上是 SVGO 的正确行为,因为 SVG 的默认填充和描边颜色是黑色,因此如果将其重新声明为填充则无用。这就是它从输出中删除的原因。任何其他非默认填充将按预期保留。

    见:http://www.w3.org/TR/SVG/painting.html#FillProperties

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 2016-01-24
      • 1970-01-01
      • 2010-12-08
      • 1970-01-01
      相关资源
      最近更新 更多