0

我想隐藏 clipPath 元素,这样它就不会在浏览器中显示空白区域,但我仍然希望能够从其他 svg 中使用它,比如图像。

如果我把宽度 0 和高度 0 放在上面,那么 IE 也不会显示图像。

如果我把 display:none 图像不会显示在任何浏览器中。

<svg height="0" width="0" viewBox="0 0 400 400">
  <defs>
    <clipPath id="svgPath">
      <circle fill="#FFFFFF" cx="50%" cy="50%" r="200" />
    </clipPath>
  </defs>
</svg>

<svg width="400" height="400" viewBox="0 0 400 400">
  <image xlink:href="https://farm2.staticflickr.com/1530/25831337243_d27d32ceb5_z_d.jpg" width="100%" height="100%" preserveAspectRatio="xMinYMin slice" clip-path="url(#svgPath)" />
</svg>

有任何想法吗?

4

1 回答 1

1

将其放在与图像相同的 SVG 中,没有什么可隐藏的。

<svg width="400" height="400" viewBox="0 0 400 400">
  <defs>
    <clipPath id="svgPath">
      <circle fill="#FFFFFF" cx="50%" cy="50%" r="200" />
    </clipPath>
  </defs>
  <image xlink:href="https://farm2.staticflickr.com/1530/25831337243_d27d32ceb5_z_d.jpg" width="100%" height="100%" preserveAspectRatio="xMinYMin slice" clip-path="url(#svgPath)" />
</svg>

于 2016-05-03T11:01:06.773 回答