SVG填写排除

时间:2017-10-06 04:22:44

标签: css svg reset fill

我正在玩userstyles.org,自定义CSS(我是一个黑客)以获得理想的效果。

我想用一种颜色填充所有SVG,但排除某些SVG受填充影响。

假设我有一个名为 image 数据图标,我该如何排除或重置其属性?

我有以下内容:抱歉,此示例中没有HTML。

 /* set colour vars */
 :root { 
    --bgi: #B4B4B4; /* icon colour */
    --bgf: #B4B4B4; /* icon fix */
 }
 
 /* colour icons */
 span svg path {
    fill: var(--bgi); 
    }
    
/* fix misc icons */
 span[data-icon="link"] svg path 
 {
    fill: var(--bgf) !important; 
}

/* exclude icons */
span[data-icon="image"] svg path 
 {
fill: none !important; 
}

fill:none ”只是让SVG变得透明。

帮助?

1 个答案:

答案 0 :(得分:0)

我对你的全部要求感到有些困惑,但我认为你应该着色(填充)所有不是[data-icon="image"]的图标

所以..

span:not([data-icon="image"]) svg path {
    fill: var(--bgi); 
    }

......应该有效

  

:not()CSS伪类表示与选择器列表不匹配的元素。由于它阻止选择特定项,因此它被称为否定伪类。

     

MDN