我正在尝试配置grunt-svgmin以删除从Adobe Illustrator导出时自动添加到透明SVG的fill="none"
属性。
我目前有以下配置:
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"
,但它不起作用。
有没有人对我需要做些什么来推荐这项工作呢?
谢谢, 杰斯
答案 0 :(得分:2)
fill="none"
并非无用,原因有两个:
填充的默认值为black
。
这是一个可继承的属性,所以如果你有这个片段
<g fill="none">
<rect width="100" height="100" />
<circle r="50" fill="red" />
</g>
矩形将获得透明填充,而圆圈将呈现红色。
您引用的选项还有另一个功能:如果grafical元素既没有可见笔划也没有可见填充,则整个元素将被删除。