SVG clipPath
を、固定配置の別の背景div
に適用しようとしています。 clip-path
は、元のSVG要素の正確な位置に留まり、それに応じてスクロール(または別の方法で変形)したときに動くようにしたいと思います。ターゲット要素の代わりにSVGクリップパスを原点に適用する方法
代わりに、クリップパスがターゲット要素の原点を基準にして挿入され、すべての位置、スクロール、および変換が失われるということです。原点のプロパティを保持し、これらを別のdivに適用する方法はありますか?
以下の埋め込みスニペットでは、青い円はclip-path
を表示したい場所ですが、赤い円は表示されている場所です。
#container {
clip-path: url(#myClip);
position: fixed;
width: 100vw;
height: 100vh;
background-color: red;
}
#offset-container {
position: absolute;
top: 200px;
left: 200px;
width: 200px;
height: 200px;
border-style: solid;
border-color: blue;
}
<div id='container'>
</div>
<div id='offset-container'>
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
<defs>
<clipPath id="myClip">
<circle cx="50%" cy="50%" r="50%"/>
</clipPath>
</defs>
<circle cx="50%" cy="50%" r="50%" fill='blue' fill-opacity='0.5'/>
</svg>
</div>
JSFiddle:https://jsfiddle.net/shongololo/pa0qLs45/1/
非常に興味深いです。 Chromeには本当に奇妙なバグがあります。 Safariはクリップのパスを完全に無視するようだ! – shongololo