clipPath
画像にさまざまな「マスキング」効果を適用するために使用しています。
クリッピングされた画像をホバー時に色で塗りつぶすにはどうすればよいですか? CSS で使用:hover
してみましたが、間違った要素をターゲットにしていない限り、うまくいかなかったようです。
このプロジェクトでは jQuery を使用しているので、JS ソリューションが必要な場合は、jQuery に頼ることができます。
私が使用しているHTMLは次のとおりです。
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100">
<defs>
<clipPath id="ellipse">
<ellipse cx="50" cy="35.5" rx="49.5" ry="35" />
</clipPath>
<clipPath id="hexagon">
<polygon points="25, 0 75, 0 100, 43.30127018922193 75, 86.60254037844386 25, 86.60254037844386 0, 43.30127018922193"/>
</clipPath>
<clipPath id="rectangle">
<rect x="0" y="0" width="100" height="70"></rect>
</clipPath>
</defs>
<g>
<image preserveAspectRatio="none" x="0" y="0" width="100%" height="100%" xlink:href="http://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Bucephala-albeola-010.jpg/800px-Bucephala-albeola-010.jpg" id="clippy" clip-path="url(#hexagon)">
</g>
</svg>