使用SVG,我们可以添加剪切路径来更改图像的形状。
首先,我们打开一个带有namespaced href属性和命名空间定义的SVG标记:
<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上的错误)。
<g> <clipPath id=hexagonal-mask> <polygon points=130,0 0,160 0,485 270,645 560,485 560,160 /> </clipPath> </g>
最后,我们将路径应用于我们的图像。这是一种很好的技术,因为如果我们将图像包裹在一个链接中,它将不具有通常的矩形形状,而是我们的一个clipPath(在这种情况下为六边形)。我们可以这样做:
<a xlink:href=http://www. web-expert.it> <image clip-path=url(#hexagonal-mask) height=100% width=100% xlink:href=img.jpg /> </a>
这是最终的代码:
<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>