相关疑难解决方法(0)

我可以用CSS更改svg路径的填充颜色吗?

我有以下代码:

  <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>&nbsp;
  </span>
Run Code Online (Sandbox Code Playgroud)

是否可以使用CSS或其他方法更改SVG路径的填充颜色而不在路径标记内实际更改它?

css svg

169
推荐指数
8
解决办法
26万
查看次数

使用CSS操作外部svg文件样式属性

我试图通过CSS操纵外部.svg文件.

HTML

<body>
    <div class="mysvg">
    <img src="decho.svg" alt="decho" width="200px"></img>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

CSS

div.mysvg img {
    opacity: .3;
    transition: opacity 1s linear 0s;
}
    div.mysvg img:hover {
    opacity: 1;
}
Run Code Online (Sandbox Code Playgroud)

此代码适用于不透明度,但不适用于fill或其他svg特定属性stroke.我知道我不能用img标签这样做,但我一直在寻找几个小时,我找不到正确的方法来做svgobject.

所以基本上,我的问题是,我如何获得与我链接的代码相同的结果,但是能够操作填充,描边等属性并且它必须是外部文件,而不仅仅是粘贴在内部的内联svg代码HTML.

如果有人能够告诉我正确的方法,我会非常感激.谢谢.


编辑:

我设法通过在.svg文件中添加一个css来实现.它必须在svg开始标记之后.

<svg ...>
<style type="text/css" media="screen">  
    <![CDATA[  
    g {  
        fill: yellow;  
        stroke: black;  
        stroke-width: 1;
        transition: fill 1s linear 0s;
    }
    g:hover {
        fill: blue;
    }
    ]]>  
</style> 
<g>
    <path ...>
</g>
</svg> …
Run Code Online (Sandbox Code Playgroud)

html css svg

20
推荐指数
3
解决办法
2万
查看次数

标签 统计

css ×2

svg ×2

html ×1