6

是否可以使用 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; }
4

1 回答 1

6

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

并且由于通过 CSS 像这样引用时 svg 将被视为哑图像,因此将路径悬停样式放在 svg 内也无济于事。

如果您想在其中设置某些形状的样式,我建议您将 svg 内联放在文档中。

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

于 2013-08-27T05:43:39.197 回答