css属性 clip-path切割多边形polygon

如果我们要把一个矩形切割成如图所示,可以使用 clip-path来做切割

clip-path:polygon(x1 y1,x2 y2)里面的参数是切割后每个顶点的坐标,坐标的原点是div的左上角,每个顶点的坐标如下:

源码如下:

.box-wrap {
  position: absolute;
  left: 21%;
  top: 0;
  width: 100%;
  height: 163px;
  // border-radius: 50px 0px 50px 0px;
  border: 1px solid #38e1ff;
  background-color: #38e1ff4a;
  box-shadow: 0 0 10px 2px #29baf1;
  animation: slide 2s;
  clip-path: polygon(
    40px 0px,
    100% 0px,
    100% calc(100% - 40px),
    calc(100% - 40px) 100%,
    0px 100%,
    0px 40px,
    40px 0px
  );
}

这时会出现一个问题:切割之后原div的边框和阴影都被切割了,采用::before ::after伪类元素给它加上源码如下:

.box-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: -61.2px;
  width: 100%;
  height: 1px;
  background: #38e1ff;
  transform: rotate(-45deg); /* 向左倾斜45度 */
}
.box-wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: -61.2px;
  width: 100%;
  height: 1px;
  background: #38e1ff;
  transform: rotate(-45deg); /* 向右倾斜45度 *
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值