如何制作CSS3剪辑路径

时间:2015-09-15 06:45:53

标签: css3 svg clip-path

我想制作图1

enter image description here

如图2所示

enter image description here

使用剪辑路径,是否可能?

感谢。

1 个答案:

答案 0 :(得分:2)

clip-path仍然是一个非常实验性的CSS3元素,因此得不到很好的支持,并且支持的内容很少。

使用CSS3 clip-path元素生成多边形只允许直角作为基于所有点而不是允许曲线。

以下是一个例子:

body {
  background: #555;
  margin: 0;
}
img {
  -webkit-clip-path: polygon(98% 0, 100% 2%, 100% 88%, 98% 90%, 25% 90%, 20% 99%, 15% 90%, 2% 90%, 0 88%, 0 2%, 2% 0);
  clip-path: polygon(98% 0, 100% 2%, 100% 88%, 98% 90%, 25% 90%, 20% 99%, 15% 90%, 3% 90%, 0 88%, 0 2%, 2% 0);
}
<img src="http://lorempixel.com/200/200/" />

您最好的选择是使用实际的SVG元素并在CSS中引用它来进行剪切。如果你想要一个完美的形状,但遗憾的是没有IE支持,这就是你要走的路。

SVG Only Version

body {
  background: #555;
  margin: 0;
}
img {
  clip-path: url(#svgPath);
  -webkit-clip-path: url(#svgPath);
}
<svg height="0" width="0">
  <defs>
    <clipPath id="svgPath">
      <path fill="#FFFFFF" d="M50,0 L450,0 Q500,0 500,50 L500,400 Q500,450 450,450 L200,450 L175,500 L150,450 L50,450 Q0,450 0,400 L0,50 Q0,0 50,0z" />
    </clipPath>
  </defs>
</svg>

<img src="http://lorempixel.com/500/500/" />