本文摘自PHP中文网,作者不言,侵删。
本篇文章给大家分享的内容是关于SVG ClipPath实现六边形图像的方法,话不多说,我们直接进入正文。使用SVG,我们可以添加剪切路径来更改图像的形状。

首先,我们打开一个带有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》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » SVG ClipPath实现六边形图像的方法