我所在的项目使用SVG图标。大多数图标需要有第二个版本,其中颜色被反转(例如白底蓝色图标和蓝底白色图标)。
我们使用CSS中的
我正在尝试找出是否有一种方法可以只有一个文件来存储每个图标,并使用CSS或Javascript更改其颜色。这将使我们减少请求次数。
现在,我知道使用CSS在内联SVG图像上设置属性是可行的,但我不想内联每个图标。
有没有办法做到这一点?
我有一个Plunker,其中包含三种不同的SVG方式:内联、CSS背景和
看来,
现在,是否有任何方法可以覆盖最后两个圆的
我们使用CSS中的
background-image
包含这些图标。我正在尝试找出是否有一种方法可以只有一个文件来存储每个图标,并使用CSS或Javascript更改其颜色。这将使我们减少请求次数。
现在,我知道使用CSS在内联SVG图像上设置属性是可行的,但我不想内联每个图标。
有没有办法做到这一点?
我有一个Plunker,其中包含三种不同的SVG方式:内联、CSS背景和
img
标签。有一条CSS规则设置了fill
属性,只影响内联SVG。还有一小段Javascript代码片段尝试找到所有圆并对其进行着色。有趣的是,当通过CSS设置fill
时,直接在内联SVG上设置fill
不起作用。看来,
document.querySelectorAll
仅会找到内联SVG,这是有道理的。另外两个严格来说不属于DOM。现在,是否有任何方法可以覆盖最后两个圆的
fill
,而不必更改circle.svg
文件?是否有其他技巧可以使用以显示具有两种不同颜色的circle.svg
文件?
document.querySelector
找不到SVG。如果您是说要在服务器端注入CSS,那么我仍然需要每个图标进行两个请求。 - ivarni<object>
。参见https://dev59.com/8G445IYBdhLWcg3wWY8U#4906603 或者你可以编写一个脚本将SVG加载到DOM中,修改它,然后将其转换为数据URL,并将其设置为背景。这两种解决方案都有点丑陋,所以我说你可能不喜欢它。 :) - Paul LeBeau