我想拥有带边框的明星。如何在clippath中显示边界?
<svg x="0" y="0" enable-background="new 0 0 98 94" xml:space="preserve" style="position: absolute;">
<defs>
<clipPath id="clipping">
<polygon points="48 6 65 30 92 37 75 60 75 88 48 80 22 88 22 60 6 37 32 30" style="fill:none;stroke:#fadf0b;stroke-width:6" />
</clipPath>
</defs>
</svg>
答案 0 :(得分:7)
我认为你clipPath
上没有可见的笔画,但你可以use
图片中的星标以及clipPath
:{{3} }
<svg x="0" y="0" enable-background="new 0 0 98 94" xml:space="preserve" style="position: absolute;">
<defs>
<clipPath id="clipping">
<polygon id="star" points="48 6 65 30 92 37 75 60 75 88 48 80 22 88 22 60 6 37 32 30" style="fill:none;stroke:#fadf0b;stroke-width:6" />
</clipPath>
</defs>
</svg>
<svg width="95" height="90" viewBox="0 0 98 94">
<use xlink:href="#star" />
<image style="clip-path: url(#clipping);" ... />
</svg>
修改:或者相反,将星号作为图片的一部分也用于clipPath
:http://codepen.io/anon/pen/OPEMXd
<svg width="95" height="90" viewBox="0 0 98 94">
<defs>
<clipPath id="clipping">
<use xlink:href="#star" />
</clipPath>
</defs>
<polygon id="star" points="48 6 65 30 92 37 75 60 75 88 48 80 22 88 22 60 6 37 32 30" style="fill:none;stroke:#fadf0b;stroke-width:6" />
<image style="clip-path: url(#clipping);" ... />
</svg>