【发布时间】:2016-06-09 20:02:16
【问题描述】:
长话短说 - 看看下面的简单小提琴。长话短说 - 我正在使用 HTML5 Canvas 和 SVG 路径剪贴蒙版从图像中屏蔽自定义形状。除了我尝试将容器放置在其他地方之外,一切都按预期工作。
您可以在此 Fiddle 中看到有问题的问题 - https://jsfiddle.net/eyv35f6k/1/
body {
padding: 0;
margin: 0
}
.container {
position:absolute;
top: 0px;
/* *********** top: 50px; *********** */
}
.css-clipped {
display: block;
-webkit-clip-path:url(#svgPath);
clip-path:url(#svgPath);
}
<!- Element that cointains image that must be clipped by using custom shape ->
<div class="container">
<img class="css-clipped" src="https://sarasoueidan.com/demos/css-svg-clipping/html-img-clipped-with-css/flowers.jpg">
</div>
<!- SVG that contains clop path ->
<svg height="0" width="0">
<defs>
<clipPath id="svgPath">
<path fill="#FFFFFF" stroke="#000000" stroke-width="1.0" stroke-miterlimit="10" d="m49,0c2,0 4,0 6,0c16,1 30,3 36,13c6,9 7,23 7,36c0,13 -1,27 -7,36c-6,10 -20,12 -36,13c-2,0 -4,0 -6,0l0,0c-2,0 -4,0 -6,0c-16,-1 -30,-3 -36,-13c-6,-9 -7,-23 -7,-36c0,-13 1,-27 7,-36c6,-10 20,-12 36,-13c2,0 4,0 6,0l0,0z"/>
</clipPath>
</defs>
</svg>
如果您尝试在 .container 元素周围移动,您会看到容器和其中的图像移动,而画布遮罩保持在页面主体的同一左上角,而不是移动连同它被应用到的元素。我在 Photoshop 中制作了示例图片来说明我想要实现的目标:
您能否告诉我,如何使画布蒙版与它所应用的元素一起移动?提前致谢。
【问题讨论】: