【发布时间】:2016-06-07 16:59:43
【问题描述】:
我正在尝试在我的网站上显示 these 社交媒体图标,以便我可以使用 css 更改颜色(这样我就可以添加下面代码中显示的悬停效果)。
但是,由于这些是矢量图像文件 (.svg),我似乎无法使用传统的 <img src=""> 方法将图像插入到我的网页中。所以我开始创建 CSS 类来让图像显示为 CSS 掩码(从而允许我通过 CSS 更改颜色)。
但是,我很快注意到原本圆形的矢量图形图标的侧面被略微截断。作为一个完美主义者,我想让图标看起来像他们应该的那样是圆形的。因此,在检查了webkit-mask MSDN entry 之后,我增加了.media-buttons 类的宽度并使用-webkit-mask-position 将图像向下和向左移动了几个像素,如下面的代码所示。这显然行不通。
我还注意到-webkit-mask 并非所有浏览器都完全支持。
CSS:
#cross{-webkit-mask: url("http://path/to/image.svg") no-repeat;}
.media-buttons {
width: 202px;
height: 202px;
background: #000;
-webkit-mask-position: 10px 10px;
}
.media-buttons:hover {background: rgb(94, 176, 201);}
HTML:
<img class="media-buttons" id="cross">
TL;DR,我正在寻找一种(可能是新的)方式来显示我的 .svg 图标,该方式具有不错的浏览器支持,并且能够通过 CSS 操纵图标的颜色。
【问题讨论】:
标签: html css image svg vector-graphics