clip-path 直译过来就是裁剪路径,使用SVG或形状定义一个HTML元素的可见区域的方法。想象一下你在Photoshop中勾勒路径的场景。MDN上是这样介绍 clip-path的:

  clip-path属性可以防止部分元素通过定义的剪切区域来显示,仅通过显示的特殊区域。剪切区域是被URL定义的路径代替行内或者外部svg,或者定义路线的方法例如circle().。clip-path属性代替了现在已经弃用的剪切 clip属性。

定义一个矩形:inset()

1 //语法
2 inset( <length-percentage>{1,4} [ round <border-radius> ]? )
3 //说明
4 inset()可以传入5个参数,分别对应top,right,bottom,left的裁剪位置,round radius(可选,圆角)
5 
6 //示例
7 clip-path: inset(2em 3em 2em 1em round 2em);

定义一个圆:circle()

 1 //语法
 2 circle( [ <shape-radius> ]? [ at <position> ]? )
 3 //说明
 4 circle()可以传人2个可选参数;
 5 1. 圆的半径,默认元素宽高中短的那个为直径,支持百分比
 6 2. 圆心位置,默认为元素中心点
 7 //半径公式
 8 如果半径使用百分比:圆的半径 = (sqrt(width^2+height^2)/sqrt(2)) * 百分比 
 9 
10 //示例
11 clip-path: circle(30% at 150px 120px);

定义椭圆:ellipse()

 1 //语法
 2 ellipse( [ <shape-radius>{2} ]? [ at <position> ]? )
 3 //说明
 4 ellipse()可以传人3个可选参数;
 5 1. 椭圆的X轴半径,默认是宽度的一半,支持百分比
 6 2. 椭圆的Y轴半径,默认是高度的一半,支持百分比
 7 3. 椭圆中心位置,默认是元素的中心点
 8 
 9 //示例
10 clip-path: ellipse(45% 30% at 50% 50%);

定义多边形:ploygon()

1 //语法
2 polygon( <fill-rule>? , [ <length-percentage> <length-percentage> ]# )
3 //说明
4 <fill-rule>可选,表示填充规则用来确定该多边形的内部。可能的值有nonzero和evenodd,默认值是nonzero
5 后面的每对参数表示多边形的顶点坐标(X,Y),也就是连接点
6 
7 //示例
8 clip-path: polygon(50% 0,100% 50%,0 100%);

 

  

 

相关文章: