2017-10-17 197 views
0

我想配置grunt-svgmin以删除从Adobe Illustrator导出时自动添加到透明SVG的fill="none"属性。grunt-svgmin - 如何删除填充=“无”

目前,我有以下配置:

svgmin: { 
     options: { 
      plugins: [ 
       { 
        removeViewBox: false 
       }, 
       { 
        removeUselessStrokeAndFill: { 
         removeNone: true 
        } 
       }, 
       { 
        removeEmptyAttrs: true 
       }, 
       { 
        removeTitle: true 
       }, 
       { 
        removeAttrs: { 
         attrs: ['xmlns', 'id', 'data-name'] 
        } 
       } 
      ] 
     }, 
     dist: { 
      files: [{ 
       expand: true, 
       cwd: 'static/images/svgs/', 
       src: ['**/*.svg'], 
       dest: 'static/images/svgs/' 
      }] 
     } 
    } 

我的印象是,removeUselessStrokeAndFill插件与removeNone的选择是什么,我需要有为了消除fill="none",但它无法正常工作。

有没有人有什么建议/建议我需要做什么才能使这项工作?

感谢, 杰斯

回答

2

fill="none"也不是一无是处,原因有二:

  1. 用于填充默认为black

  2. 这是一个可继承的财产,所以例如,如果你有这个片段

    <g fill="none"> 
        <rect width="100" height="100" /> 
        <circle r="50" fill="red" /> 
    </g> 
    

    的矩形会得到一个透明填充,而圈将呈现红色。

你引用的选项还有另外一个功能:如果grafical元素既没有明显的中风,也不是可见的填充,在整个元素被删除。