我有一个SVG格式的图标列表,我在网络应用程序中使用它。
图标前景色为黑色,我想使用CSS在悬停时将此颜色更改为白色。使用CSS执行此操作的最简单方法是什么(如果可能?)
HTML标记如下:
<img class="icon" src="user.svg">
CSS
.icon {
width: 200px;
height: auto;
}
.icon:hover {
fill: #fff; /* this doesn't work */
}
答案 0 :(得分:0)
.icon {
width: 200px;
height: auto;
}
.icon:hover {
filter: invert(100%);
}
.teste {
background-color: lightblue;
}
&#13;
<div class="teste">
<img class="icon" src="https://image.flaticon.com/icons/svg/358/358269.svg">
</div>
&#13;
悬停时,只需添加
即可.icon:hover {
filter: invert(100%);
}
答案 1 :(得分:0)
鉴于您目前的设置,您是否可以执行以下操作?:
<强> HTML 强>
<i class="icon icon-user"></i>
<强> CSS 强>
.icon {
background-image: url('your/svg/file.svg');
background-repeat: no-repeat;
}
.icon-user {
background-position: 50px 100px;
}
.icon-user:hover {
color: red;
}
因此,这里的想法是您将使用background
标记的<i>
属性来设置背景图像,作为整个.svg文件,然后使用background-position
属性显示该.svg文件中的特定区域。在悬停时,<i>
标记的颜色应根据color
属性更改为指定的颜色。