SVG ClipPath实现六边形图像的方法


本文摘自PHP中文网,作者不言,侵删。

本篇文章给大家分享的内容是关于SVG ClipPath实现六边形图像的方法,话不多说,我们直接进入正文。

使用SVG,我们可以添加剪切路径来更改图像的形状。

360截图20181106160743078.jpg

首先,我们打开一个带有namespaced href属性和命名空间定义的SVG标记:

1

<svg class="svg-graphic" width="180" height="200" viewBox="0 0 560 645" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" version="1.1">

然后我们创建一个clipPath并给它一个ID,它将作为参考应用于我们的图像。我们设计的clipPath将是我们图像的可见部分。在这种情况下,我们实现六边形(外部组元素<g>解决Safari上的错误)。

1

2

3

4

5

<g>

   <clipPath id="hexagonal-mask">

      <polygon points="130,0 0,160 0,485 270,645 560,485 560,160" />

   </clipPath>

</g>

最后,我们将路径应用于我们的图像。这是一种很好的技术,因为如果我们将图像包裹在一个链接中,它将不具有通常的矩形形状,而是我们的一个clipPath(在这种情况下为六边形)。我们可以这样做:

1

2

3

<a xlink:href="http://www. web-expert.it">

    <image clip-path="url(#hexagonal-mask)" height="100%" width="100%" xlink:href="img.jpg" />

</a>

这是最终的代码:

1

2

3

4

5

6

7

8

9

10

<svg class="svg-graphic" width="180" height="200" viewBox="0 0 560 645" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" version="1.1">

    <g>

       <clipPath id="hexagonal-mask">

          <polygon points="130,0 0,160 0,485 270,645 560,485 560,160" />

       </clipPath>

    </g>

    <a xlink:href="http://www. web-expert.it">

     <image clip-path="url(#hexagonal-mask)" height="100%" width="100%" xlink:href="img.jpg" />

    </a>

</svg>

以上就是SVG ClipPath实现六边形图像的方法的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

svg ClipPath实现六边形图像的方法

更多相关阅读请进入《ClipPath》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...