javascript - 使用现有 SVG 路径遮盖图像

标签 javascript html css svg mask

我有一组构成 Logo 的 SVG 路径。

然后,我想要几张逐渐滑过的图像(显示为 SVG)。我的问题是我不能让它们作为背景,换句话说,我希望 SVG 遮住图像。

我有一个这样的 SVG:

<svg class="polygon" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="225.533px" height="261.262px" viewBox="0 0 225.533 261.262" style="enable-background:new 0 0 225.533 261.262;" xml:space="preserve">
  <g id="svg-draw">
    <path data-name="nav-projects" data-href="<?php print JUri::base() ?>projects" data-ajax="true" class=" st4 hover-logo" d="M26.05,147.366c-4.384,10.375-21.823,47.717-24.713,71.831c-2.804,23.373,2.034,40.255,27.625,37.926c6.952-0.97,15.662-4.346,24.417-9.214"></path>
  </g>
  <image clip-path="url(#svg-draw)" height="100%" width="100%"  xlink:href="<?php print THEME_URL."/img/rev1.jpg"; ?>" />
</svg>

如果您注意到,我已将 image 标签放在 SVG 中。但是没有任何反应。我也删除了上面示例中的大部分 svg 路径,因为它们太长了,无法复制到这里。

我使用了图像的 clip-path 属性,但没有用。

最佳答案

你不能只剪裁任何元素。你必须定义一个 <clipPath>并用它剪辑。

<svg class="polygon" version="1.1" id="Layer_1"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     width="225.533px" height="261.262px"
     viewBox="0 0 225.533 261.262">

  <defs>
    <clipPath id="svg-draw">
      <path d="M26.05,147.366c-4.384,10.375-21.823,47.717-24.713,71.831
               c-2.804,23.373,2.034,40.255,27.625,37.926
               c6.952-0.97,15.662-4.346,24.417-9.214"></path>
    </clipPath>
  </defs>

  <image clip-path="url(#svg-draw)" height="100%" width="100%"
         xlink:href="http://placekitten.com/200/300" />

</svg>

关于javascript - 使用现有 SVG 路径遮盖图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38302907/

相关文章:

css - 在 ionic 3 中更改后退按钮箭头颜色

javascript - 为什么当我按 Enter 键添加评论时,我的页面重定向回登录页面

javascript - For循环影响递归变量

javascript - 使用选择操作字体

javascript - 进度条、最大值并重置为 100%

html - 使用 Python 单击 HTML 页面上的某些链接时如何打开 Windows 文件夹

javascript - IE8 在隐藏与行跨度相交的表列时崩溃

javascript - 类型错误 : Cannot set property localStorage of#<Window> which has only a getter

javascript - 将图表更改为自下而上而不是从左到右

javascript - 当覆盖菜单打开时隐藏主滚动条