如何使用svg <use>标签</use>创建hoverstates

时间:2014-06-30 09:39:24

标签: html css svg css-selectors

所以我最近在csstricks上找到了这个svg technique,并决定将它与grunt任务grunt-svgstore结合使用。我认为这是完美的事情,因为您可以使用css和javascript访问实际的svg,而不会在html中粘贴整个svg代码。但是我发现了一个我无法解决的主要问题,即hoverstates(和类似的)。问题如下。如果那是我的html主体(svg在上面)

<body>
    <svg>
        <symbol id="arrow">
            <path ... />
        </symbol>
    </svg>
    <svg id="icon-arrow">
        <use xlink:href="#arrow"></use>
    </svg>
</body>

我可以访问#icon-arrow svg或#arrow符号,但两者都不能让我创建一个hoverstate。在做#icon-arrow时,我可以获得一个hoverstate,但我无法访问实际的形状,因为它实际上不是#icon-arrow的孩子,所以做#icon-arrow #arrow:hover将无效。另一方面,直接选择形状不起作用,因为形状实际上并不存在,但它只是一个参考。是否有可能使用这种技术做hoverstates?或者还有其他解决方案吗?

0 个答案:

没有答案