奇妙的 clip-path 几何图形

Posted 雪剑无影

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了奇妙的 clip-path 几何图形相关的知识,希望对你有一定的参考价值。

CSS 新属性 clip-path,意味裁剪路径的意思,让我们可以很便捷的生成各种几何图形。

clip-path 通过定义特殊的路径,实现我们想要的图形。而这个路径,正是 SVG 中的 path 。

clip-path  属性api:

技术分享图片
/* Keyword values */
clip-path: none;

/* Image values */ 
clip-path: url(resources.svg#c1);

/* Box values
clip-path: fill-box;
clip-path: stroke-box;
clip-path: view-box;
clip-path: margin-box
clip-path: border-box
clip-path: padding-box
clip-path: content-box

/* Geometry values */
/*矩形可以2个值, 也可 4个值    top right bottom left
   矩形可以3个值  第一个值 大小 第二值圆角属性【round】  第三个值圆角大小
*/
clip-path: inset(100px 50px);  
 /*圆形  第一个值大小  第二值 左右水平位置  第三个上下垂直 位置*/
clip-path: circle(50px at 0 100px);   /* */
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);

/* Box and geometry values combined */
clip-path: padding-box circle(50px at 0 100px);

/* Global values */
clip-path: inherit;
clip-path: initial;
clip-path: unset;
View Code

 

 

例如 clip-path: circle(50px at 50px 50px) 表示在元素的 (50px, 50px)处,裁剪生成一个半径为 50px 的圆,以元素的左上角为坐标起点

而整个 clip-path 属性,最为重要的当属 polygon,可以利用 polygon 生成任意多边形, polygon 几对【x,y】几边形,值可以 是百分比,也可以使用具体的数值

下面分别列举使用 clip-path 生成一个圆形和一个十边形:

技术分享图片
/* 圆形 */
.circle {
  width: 100px;
  height: 100px;
  background-color: yellowgreen; 
  clip-path: circle(50px at 50px 50px);
}

/* 十边形 */
.polygon {
  width: 100px;
  height: 100px;
  background-color: yellowgreen; 
  /*polygon(x1,y1,x2,y2...)*/
  clip-path: polygon(50% 0%, 80% 10%, 100% 35%, 100% 70%, 80% 90%, 50% 100%, 20% 90%, 0% 70%, 0% 35%, 20% 10%);
}
View Code

 

以上是关于奇妙的 clip-path 几何图形的主要内容,如果未能解决你的问题,请参考以下文章

CSS奇思妙想之-利用CSS裁剪(clip-path)完成各种图形

css clip-path的polygon属性绘制多边形

clip-path

基于CSS mask和clip-path实现切角的技巧

Android片段布局完成膨胀

强大的CSS图形,各种神奇操作!