将CSS应用于嵌入img-tag的SVG图像

时间:2014-11-19 13:20:03

标签: html css svg

在我的页面上,我使用img标签嵌入SVG图像。现在我想对它们应用一些css。只要您将SVG源代码直接复制到页面中,这种方法就可以正常工作。但是,如果我使用img src属性嵌入它们,它就不会。

有没有办法让它发挥作用?

<style type="text/css">
path:hover {
    fill:white;
}
</style>

<img src="my.svg" />

提前致谢!

2 个答案:

答案 0 :(得分:6)

可以通过JQuery(解决方法)来实现,此Jquery函数会将保存当前svg图像的<img>标记转换为<svg>内联标记,可以在浏览器调试器中查看它。简而言之,它将模仿直接插入SVG图像。

<script type="text/javascript">

    $(document).ready(function() {
        $('#img').each(function(){
            var img         = $(this);
            var image_uri   = img.attr('src');

            $.get(image_uri, function(data) {
                var svg = $(data).find('svg');
                svg.removeAttr('xmlns:a');
                img.replaceWith(svg);
            }, 'xml');

        });
    });
</script>


<img id='img' src="my.svg" />

答案 1 :(得分:1)

我不认为这是可能的。你是正确的,使用内联SVG将允许你操纵svg的部分,但不包括在img标签中。见http://css-tricks.com/using-svg/