【问题标题】:SVG Fill ExcludeSVG 填充排除
【发布时间】:2018-03-17 19:37:17
【问题描述】:

我正在使用 userstyles.org,自定义 CSS(我是个 hack)以获得想要的效果。

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

假设我有一个名为 image 的 data-icon,我该如何排除它或重置它的属性?

我有以下内容:抱歉,此示例中没有 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 透明。

帮助?

【问题讨论】:

    标签: css svg reset fill


    【解决方案1】:

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

    所以..

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

    ...应该可以工作

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

    MDN

    【讨论】:

    • 你在正确的轨道上,但这似乎并不影响它。
    • 那么听起来你有一个特异性问题。
    • 和嵌套有关系吗?即 SPAN 嵌套在 BUTTON、LI、UL、DIV、DIV、SPAN 等下
    • 可能,您必须检查实际应用的规则并覆盖它们。
    猜你喜欢
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 2017-02-27
    • 2021-12-05
    • 2017-08-30
    • 1970-01-01
    相关资源
    最近更新 更多