繁体   English   中英

SVG clipPath坐标问题

[英]SVG clipPath coordinates issue

我在SVG clipPath对齐和转换时遇到一些问题。
这是我的HTML代码:

<div class="box"></div>
<svg height="100%" width="100%" viewBox="0 0 600 600" >
  <clipPath id="clipped">
    <circle cx="100" cy="100" r="50"></circle>
  </clipPath>
  <circle cx="100" cy="100" r="50" fill="none" stroke="#000000"></circle>
</svg>

这是CSS:

body{
  margin:0;
  padding:0;
}
.box{
  position:absolute;
  width:100%;
  height:100%;
  background:pink;
  clip-path: url(#clipped);
  -webkit-clip-path: url(#clipped);
}

我的svg中有两个圆圈,它们的X,Y和R相同。您可以看到我的SVG元素的宽度为100%,高度为100%,并且viewBox =“ 0 0 600 600”,因此svg将通过调整浏览器窗口的大小进行转换,但该div的裁剪区域除外。 实际上,当我使用devTools检查元素时,两个圆的位置相同,但是该DIV的遮罩区域不在正确的位置。 当我删除viewBox时,可以,但是我希望我的svg适合屏幕显示。 我知道svg viewBox不会影响clipPath,所以即使设置了viewBox,我该怎么做才能匹配两个圆圈顶部正确位置的遮罩区域。
这是CodePen

谢谢。

在HTML元素上使用SVG clipPath时,它按原样使用。 按照定义。 它不受其父SVG中可能存在的任何缩放的影响。

如果您在使用SVG元素上的clipPath, 它将在缩放的影响。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM