2017-10-17 144 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元素既沒有明顯的中風,也不是可見的填充,在整個元素被刪除。