实例:
废话不多说,上代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>clip-path实践</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div class="wrap">
<!-- title -->
<h1>css3 clip-path</h1>
<div class="test">
</div>
</div>
</body>
</html>
下面是css代码
$color:grey;
$box-size:10px;
@mixin margin_space($a,$b) {
margin:$a auto;
padding:$b;
}
@mixin tx_center{
text-align:center;
}
.wrap{
max-width:$box-size*80;
@include margin_space(0,20px);
}
h1{
@include tx_center;
}
.test{
background-color:$color;
background: url(../images/background.jpg) no-repeat;
background-size:cover;
max-width:$box-size*60;
height:$box-size*40;
@include margin_space(0,0);
// 只看 polygon属性
-webkit-clip-path:polygon(100px 200px,100px 300px,200px 300px,200px 200px);
clip-path:polygon(100px 200px,100px 300px,200px 300px,200px 200px);
}
属性的用法:
polygon( , , …, ) 定义了每一个点的坐标,从上图也能看出,起点是从左上角开始计算的,可以用百分百,也可以用px等单位。
关键位置分析
-webkit-clip-path:polygon(100px 200px,100px 300px,200px 300px,200px 200px);
我这里设置的第一个点位置为x:100px,y:200px,第二个点的位置为x:100px,y:300px,第三个点的位置为x:200px,y:300px,最后一个点位置为x:200px,y:200px,最后自动闭合成一个长宽高都为100px的正方形。