效果 样式代码
<template>
<div class="container">
<div class="clip-all-angle"> 4个角全部剪切 </div>
<div class="clip-two-angle"> 切底部两个角 </div>
<div class="clip-two-top-angle"> 切顶部两个角 </div>
<div class="clip-remove-top-left-angle"> 切除了左上外3个角 </div>
<div class="clip-remove-top-right-angle"> 切除了右上外3个角 </div>
<div class="clip-remove-bottom-left-angle"> 切除了左下外3个角 </div>
<div class="clip-remove-bottom-right-angle"> 切除了右下外3个角 </div>
<div class="clip-top-left"> 左上角切角 </div>
<div class="clip-top-right"> 右上角切角 </div>
<div class="clip-bottom-right"> 右下角切角 </div>
<div class="clip-bottom-left"> 左下角切角 </div>
<div class="clip-top-left-to-bottom-right"> 左上-右下角对切角 </div>
<div class="clip-top-right-to-bottom-left"> 右上-左下角对切角 </div>
<div class="clip-two-angle2"> 切底部两个角内部加背景 </div>
</div>
</template>
<script setup lang="ts"></script>
<style style="scss" scoped>
.container {
width : 100vw;
display : flex;
align-items : center;
flex-wrap : wrap;
justify-content : center;
padding : 10px;
div {
margin-right : 20px;
}
}
.clip-all-angle {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
clip-path : polygon (
15px 0px,
calc ( 100% - 15px) 0,
100% 15px,
100% calc ( 100% - 15px) ,
calc ( 100% - 15px) 100%,
15px 100%,
0 calc ( 100% - 15px) ,
0 15px
) ;
background :
linear-gradient ( -45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom right,
linear-gradient ( 45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom left,
linear-gradient ( 135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top left,
linear-gradient ( -135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top right;
border : 1px solid #a9c1d2;
}
.clip-two-angle {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
border : 1px solid #a9c1d2;
clip-path : polygon (
15px 0px,
100% 0,
100% 15px,
100% calc ( 100% - 15px) ,
calc ( 100% - 15px) 100%,
15px 100%,
0 calc ( 100% - 15px) ,
0 0
) ;
background :
linear-gradient ( -45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom right,
linear-gradient ( 45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom left;
}
.clip-two-top-angle {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
border : 1px solid #a9c1d2;
clip-path : polygon (
15px 0px,
calc ( 100% - 15px) 0,
100% 15px,
100% 100%,
calc ( 100% - 15px) 100%,
15px 100%,
0 100%,
0 15px
) ;
background :
linear-gradient ( 135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top left,
linear-gradient ( -135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top right;
}
.clip-remove-top-left-angle {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
border : 1px solid #a9c1d2;
clip-path : polygon (
0 0px,
calc ( 100% - 15px) 0,
100% 15px,
100% calc ( 100% - 15px) ,
calc ( 100% - 15px) 100%,
15px 100%,
0 calc ( 100% - 15px) ,
0 15px
) ;
background :
linear-gradient ( -45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom right,
linear-gradient ( 45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom left,
linear-gradient ( -135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top right;
}
.clip-remove-top-right-angle {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
border : 1px solid #a9c1d2;
clip-path : polygon (
15px 0px,
100% 0,
100% 0,
100% calc ( 100% - 15px) ,
calc ( 100% - 15px) 100%,
15px 100%,
0 calc ( 100% - 15px) ,
0 15px
) ;
background :
linear-gradient ( -45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom right,
linear-gradient ( 45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom left,
linear-gradient ( 135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top left;
}
.clip-remove-bottom-left-angle {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
border : 1px solid #a9c1d2;
clip-path : polygon (
15px 0px,
calc ( 100% - 15px) 0,
100% 15px,
100% calc ( 100% - 15px) ,
calc ( 100% - 15px) 100%,
0 100%,
0 calc ( 100% - 15px) ,
0 15px
) ;
background :
linear-gradient ( -45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom right,
linear-gradient ( 135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top left,
linear-gradient ( -135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top right;
}
.clip-remove-bottom-right-angle {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
border : 1px solid #a9c1d2;
clip-path : polygon (
15px 0px,
calc ( 100% - 15px) 0,
100% 15px,
100% 100%,
100% 100%,
15px 100%,
0 calc ( 100% - 15px) ,
0 15px
) ;
background :
linear-gradient ( 45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom left,
linear-gradient ( 135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top left,
linear-gradient ( -135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top right;
}
.clip-top-left {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
border : 1px solid #a9c1d2;
clip-path : polygon (
15px 0,
100% 0,
100% 0,
100% 100%,
100% 100%,
0 100%,
0 calc ( 100% - 15px) ,
0 15px
) ;
background : linear-gradient ( 135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top left;
}
.clip-top-right {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
border : 1px solid #a9c1d2;
clip-path : polygon ( 0 0, calc ( 100% - 15px) 0, 100% 15px, 100% 100%, 0% 100%, 0 100%, 0 0) ;
background : linear-gradient ( -135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top right;
}
.clip-bottom-right {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
border : 1px solid #a9c1d2;
clip-path : polygon (
0 0,
100% 0,
100% 15px,
100% calc ( 100% - 15px) ,
calc ( 100% - 15px) 100%,
0 100%,
0 100%,
0 0
) ;
background : linear-gradient ( -45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom right;
}
.clip-bottom-left {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
border : 1px solid #a9c1d2;
clip-path : polygon ( 0 0, 100% 0, 100% 0, 100% 100%, 15px 100%, 0 calc ( 100% - 15px) , 0 0) ;
background : linear-gradient ( 45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom left;
}
.clip-top-left-to-bottom-right {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
border : 1px solid #a9c1d2;
clip-path : polygon (
15px 0,
100% 0,
100% 15px,
100% calc ( 100% - 15px) ,
calc ( 100% - 15px) 100%,
0 100%,
0 calc ( 100% - 15px) ,
0 15px
) ;
background :
linear-gradient ( -45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom right,
linear-gradient ( 135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top left;
}
.clip-top-right-to-bottom-left {
width : 250px;
height : 100px;
margin-bottom : 10px;
text-align : center;
line-height : 100px;
border : 1px solid #a9c1d2;
clip-path : polygon (
0 0,
calc ( 100% - 15px) 0,
100% 15px,
100% 100%,
15px 100%,
0 calc ( 100% - 15px) ,
0 0
) ;
background :
linear-gradient ( 45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom left,
linear-gradient ( -135deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) top right;
}
.clip-two-angle2 {
width : 250px;
height : 280px;
margin-bottom : 10px;
text-align : center;
line-height : 280px;
border : 1px solid transparent;
clip-path : polygon (
15px 0px,
100% 0,
100% 15px,
100% calc ( 100% - 15px) ,
calc ( 100% - 15px) 100%,
15px 100%,
0 calc ( 100% - 15px) ,
0 0
) ;
background :
linear-gradient ( -45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom right,
linear-gradient ( 45deg, #a9c1d2 10.2px, rgba ( 0, 0, 0, 0) 0) bottom left,
linear-gradient ( 180deg, #dceefe 0%, #edf1fa 100%) ;
border-top : none;
border-image : linear-gradient ( 180deg, rgba ( 169, 193, 210, 0) , rgba ( 169, 193, 210, 1) ) 2 2;
}
</style>