在伪元素中更改data-URI SVG路径的填充颜色

时间:2013-08-26 19:21:11

标签: css svg hover pseudo-element css-content

是否可以使用CSS来更改伪元素data-URI中的SVG路径的颜色?

<a href="http://externalurl/">External Site</a>

CSS:

a[href^="http://"]:after { content: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTVweCIgaGVpZ2h0PSIxM3B4IiB2aWV3Qm94PSItMyAyMSAxNSAxMyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAtMyAyMSAxNSAxMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZmlsbD0iIzk5OTk5QSIgZD0iTTEyIDIxSDB2M2gtM3YxMEg5di0zaDNWMjF6IE04IDMzSC0ydi04aDJ2Nmg4VjMzeiBNOSAyN0g3djJINXYtMkgzdi0yaDJ2LTJoMnYyaDJWMjd6Ii8+PC9zdmc+); }
a[href^="http://"]:hover:after path { fill: #000; }

1 个答案:

答案 0 :(得分:6)

不是那样,因为svg内容在另一个文档中。样式不适用于各种文档。

由于svg在通过CSS引用时会被视为愚蠢的图像,因此将路径悬停样式放在svg中也无济于事。

如果您想在其中设置一些形状,我建议将svg内联到文档中。

也就是说,改变图像颜色的另一种可能性是使用滤镜,因为它们可以从外部应用。如果您的图像很简单,可能会有效。