パターンが円の上でマスクされるように、塗りつぶされた色で円の上にピンストライプのような効果を取得しようとしています。何が間違っているのかよくわかりませんが、私のコードは正しいものに近いようです。
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="200" width="200">
<defs>
<pattern id="stripe" patternUnits="userSpaceOnUse" x="0" y="0" width="10" height="10">
<g >
<line x1="10" y1="0" x2="0" y2="10" />
</g>
</pattern>
<mask id="mask" maskUnits="objectBoundingBox" maskContentUnits="ObjectBoundingBox">
<rect height="300" width="300" style="fill: url(#pinstripe);" />
</mask>
<style>
g {
mask: url(#mask);
stroke: black;
stroke-width: 1px;
stroke-linecap: butt;
stroke-rendering: crispEdges;
}
circle {
fill: green;
}
</style>
</defs>
<g>
<circle cx="100" cy="100" r="100" />
</g>
</svg>
このフィドルを見ると、効果的に何も見えなくなります。実際に円を表示するには、mask: url(#mask);
スタイルを削除します。
そのため、何が問題なのかよくわかりません。緑の塗りつぶしと白いストライプが上にある円を作ろうとしているだけです。どんな助けでも大歓迎です!