我有以下代码:

<span>
   <svg height="32" version="1.1" width="32" xmlns="http://www.w3.org/2000/svg" style="overflow: hidden; position: relative; left: -0.0166626px; top: -0.983337px;">
      <desc></desc>
      <defs/>
      <path style="" fill="#333333" stroke="none" d="M15.985,5.972C8.422,5.972,2.289999999999999,10.049,2.289999999999999,15.078C2.289999999999999,17.955,4.302999999999999...............1,27.68,22.274Z"/>
    </svg>
</span>

是否有可能用CSS或其他方法改变SVG路径的填充颜色,而不实际改变<path>标记内?


当前回答

改变任何SVGs的颜色 使用标记添加SVG图像。

<img src="dotted-arrow.svg" class="filter-green"/>

要过滤为特定的颜色,使用以下Codepen(单击此处打开Codepen)将十六进制颜色代码转换为CSS过滤器: 例如,#00EE00的输出为

filter: invert(42%) sepia(93%) saturate(1352%) hue-rotate(87deg) brightness(119%) contrast(119%);

将CSS过滤器添加到这个类中。

.filter-green{
    filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(86deg) brightness(118%) contrast(119%);
}

其他回答

你把这个CSS for SVG圈。

svg:hover circle{
    fill: #F6831D;
    stroke-dashoffset: 0;
    stroke-dasharray: 700;
    stroke-width: 2;
}

输入所有的svg:

fill="var(--svgcolor)"

在Css中:

:root {
  --svgcolor: tomato;
}

使用伪类:

span.github:hover {
  --svgcolor:aquamarine;
}

解释

Root = HTML页面。 ——svgcolor =变量。 跨度。Github =选择一个span元素与类Github,其中一个SVG图标和分配伪类悬停。

如果你想通过悬停在元素上来改变颜色,试试这个:

path:hover{
  fill:red;
}

你应该能够修改尺寸,颜色或其他属性:

:host::ng-deep svg {
 ...
}

这是一个简单的解决方案,适用于我:

将SVG放在带有“id”的div标签中

then

#id-div svg g {
     fill: #3366FF; 
}