所以我最近在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?或者还有其他解决方案吗?