html - 使用 CSS 添加带有颜色叠加的 SVG

标签 html css svg

我有一个 SVG 格式的图标列表,我正在 Web 应用程序上使用它。

图标前景色是黑色的,我想在鼠标悬停时使用 CSS 将此颜色更改为白色。使用 CSS 执行此操作的最简单方法是什么(如果可能?)

HTML 标记如下:

<img class="icon" src="user.svg">

CSS

.icon {
width: 200px;
height: auto;
}

.icon:hover {
fill: #fff; /* this doesn't work */
}

JSFiddle

最佳答案

.icon {
width: 200px;
height: auto;
}

.icon:hover {
filter: invert(100%);
}

.teste {
background-color: lightblue;
}
<div class="teste">
    <img class="icon" src="https://image.flaticon.com/icons/svg/358/358269.svg">
</div>

悬停时只需添加

.icon:hover {
filter: invert(100%);
}

关于html - 使用 CSS 添加带有颜色叠加的 SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43987076/

相关文章:

html - Flexslider 控制导航在 Safari 中显示低于正常的 CSS 指令

javascript - Bootstrap - 一次仅在特定部分中显示一个折叠

javascript - D3.js - "svg:"中的 "svg:rect"是必须的吗?

css - 在移动设备上查看时,SVG 图像会回落到 Times New Roman 吗?

javascript - 将按钮引用到特定的 li?

html - 如何扩展我的 Chrome 扩展程序的弹出窗口

当 url 包含尾部斜杠时 CSS 不加载

asp.net - IE10 有条件的 IE 注释 &lt;!--> 功能启动器

AngularJS : Transcluding SVG elements in directives

javascript - 网页源码标注工具