当前位置: 首页 > 知识库问答 >
问题:

img src SVG使用CSS更改样式

穆华彩
2023-03-14

HTML

<img src="logo.svg" alt="Logo" class="logo-img">

CSS

.logo-img path {
  fill: #000;
}

上面的svg加载并且是本机的fill:#fff但是当我使用上面的css尝试将它更改为黑色时,它没有改变,这是我第一次使用svg并且我不确定它为什么不工作。

共有2个答案

司寇季
2023-03-14

您可以将SVG设置为掩码。这样,设置一个背景颜色就可以作为填充颜色。

HTML

<div class="logo"></div>

CSS

.logo {
  background-color: red;
  -webkit-mask: url(logo.svg) no-repeat center;
  mask: url(logo.svg) no-repeat center;
}

jsfiddle:https://jsfidle.net/kuhltime/2j8exgcb/
mdn:https://developer.mozilla.org/en-us/docs/web/css/mask

请检查您的浏览器是否支持此功能:https://caniuse.com/#search=mask

林英武
2023-03-14

如果您的目标只是改变徽标的颜色,而不一定需要使用CSS,那么就不要像前面一些答案所建议的那样使用javascript或jquery。

要准确地回答原来的问题,只需:

>

  • 在文本编辑器中打开logo.svg

    查找填充:#fff并将其替换为填充:#000

    例如,logo.svg在文本编辑器中打开时可能如下所示:

    <svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
      <path d="M0 0h24v24H0z" fill="none"/>
      <path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z" fill="#fff"/>
    </svg>
    

    …只需更改填充并保存即可。

  •  类似资料:
    • 问题内容: 有没有一种方法可以使用javascript更改CSS类的属性? 我想在用户调用函数changeCSS()后将display:block更改为display:none,将所有元素都更改为无。 看起来很简单,但我找不到解决方法… 问题答案: 关键是为其他类定义额外的规则,并将这些类添加到元素中,而不是重写给定样式规则的规则。 JS CSS 或使用真正有效的方法(但可能还需要一些特定的样式规

    • 问题内容: 由于某些原因,我无法使用以下命令更改元素的样式: 我敢肯定,因为它返回一个DOM元素。另外,这可行: (我发现的所有内容都与ngStyle有关,但我不认为这是我想要的?) 我应该使用其他东西吗? 如果是这样:什么?为什么不起作用? 问题答案: 根据 文档 : 注意:Angular中的所有元素引用始终使用jQuery或jqLit​​e进行包装; 它们永远不是原始的DOM引用。 因此,该属

    • 我不是程序员。语言是外国的。我正在创建一个WordPress网站。我创造了一个儿童主题。 我阅读了主题文档。理解得很少。 向主题所有者发送了电子邮件。无人接听(2周前) 搜索了网络-找到了许多网站-即http://www.w3schools.com/-http://css-tricks.com/sans-serif/&others-me,no speak the language。你能把html代

    • 问题内容: 是否可以通过JavaScript更改CSS伪元素样式? 例如,我想像这样动态设置滚动条的颜色: 而且我还希望能够告诉滚动条这样隐藏: 但是,这两个脚本都返回: 未捕获的TypeError:无法读取null的属性“样式” 还有其他解决方法吗?跨浏览器的互操作性并不重要,我只需要它在Webkit浏览器中即可工作。 问题答案: 编辑 : 从技术上讲,有一种通过JavaScript直接更改CS

    • 问题内容: 我想在用户滚动角度方式时更改CSS元素。 这是使用JQuery方式的代码 我尝试使用以下代码执行Angular方式,但是$ scope.scroll似乎无法正确获取滚动数据。 Muchos gracias好友! 问题答案: 请记住,在Angular中,DOM访问应从指令内部进行。这是一个简单的指令,可根据窗口的设置变量。 对我来说,您到底要寻找什么样的最终结果尚不清楚,所以这是一个简单