我有一些像这样的svg图像
circles.svg
<svg width="38" height="38" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg" stroke="#fff">
<g fill="none" fill-rule="evenodd">
<g transform="translate(1 1)" stroke-width="2">
<circle stroke-opacity=".5" cx="18" cy="18" r="18"/>
<path d="M36 18c0-9.94-8.06-18-18-18">
<animateTransform
attributeName="transform"
type="rotate"
from="0 18 18"
to="360 18 18"
dur="1s"
repeatCount="indefinite"/>
</path>
</g>
</g>
</svg>
并像这样使用
<img src="circles.svg" width="50" alt=""/>
但我不知道如何改变颜色
我试过了
.color{
fill:red;
}
<img src="circles.svg" width="50" alt="" class="color"/>
但它不起作用,我不想改变SVG我只想通过html改变颜色,这是可能的,而不是编辑主SVG?
答案 0 :(得分:2)
CSS不适用于文档边界。由于您的SVG位于不同的文档中,因此您无法在HTML中使用CSS来影响它的风格。
您需要在HTML文件中内联SVG。
答案 1 :(得分:0)
试试这个Link
HTML
<div>
<svg width="38" height="38" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg" stroke="#fff">
<g fill="none" fill-rule="evenodd">
<g transform="translate(1 1)" stroke-width="2">
<circle stroke-opacity=".5" cx="18" cy="18" r="18"/>
<path d="M36 18c0-9.94-8.06-18-18-18">
<animateTransform
attributeName="transform"
type="rotate"
from="0 18 18"
to="360 18 18"
dur="1s"
repeatCount="indefinite"/>
</path>
</g>
</g>
</svg>
</div>
CSS
div {
color: blue;
}
div svg {
fill: currentColor;
}