【发布时间】:2017-12-09 01:27:48
【问题描述】:
我正在尝试将 SVG clipPath 应用到具有固定定位的单独背景 div。我希望 clip-path 保持在原始 SVG 元素的确切位置,并在滚动(或以其他方式转换)时相应地移动。
相反,剪辑路径是相对于目标元素的原点插入的,并且丢失了所有定位、滚动和变换。有没有办法保留原始属性并将它们应用于单独的 div?
在下面嵌入的 sn-p 中,蓝色圆圈是我希望 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>
【问题讨论】:
标签: javascript css svg clip-path