css实现平角切角和弧形切角效果

在web设计中,有时候会碰到一些切角的样式需求,实现方法有很多种,用图片也好,结点叠加覆盖也好,都可以实现切角的样式,这里笔者直接用css来实现切角的样式。
切单一角:
这里写图片描述

background: #58a;
background: linear-gradient(-45deg, transparent 15px, #58a 0);

采用如上所示css就可以实现样式,修改角度就可以实现任一角度的切角效果。
切两个角:
这里写图片描述

background: #58a;
background: linear-gradient(-45deg, transparent 15px, #58a 0) right, 
            linear-gradient(45deg, transparent 15px, #655 0) left;
background-size: 50% 100%;
background-repeat: no-repeat;

上述样式中,笔者用了两种颜色以方便读者理解其中的含义。
两个切角实现了,四个切角就很容易了。
四个切角实现:
这里写图片描述

background: #58a;
background: linear-gradient(135deg, transparent 15px, #58a 0) top left, 
            linear-gradient(-135deg, transparent 15px, #58a 0) top right, 
            linear-gradient(-45deg, transparent 15px, #58a 0) bottom right, 
            linear-gradient(45deg, transparent 15px, #58a 0) bottom left;
background-size: 50% 50%;
background-repeat: no-repeat;

上述样式实现了四个平角切角的样式,那么我们进一步构思,想要实现弧形切角该怎么做呢?
弧形切角:
这里写图片描述
可以看到,图案类似传统的剃须刀片,实现这种样式并不难,我们用径向渐变来替代线性渐变就可以。

background: #58a;
background: radial-gradient(circle at top left, transparent 15px, #58a 0) top left, 
            radial-gradient(circle at top right, transparent 15px, #58a 0) top right, 
            radial-gradient(circle at bottom right, transparent 15px, #58a 0) bottom right, 
            radial-gradient(circle at bottom left, transparent 15px, #58a 0) bottom left;
background-size: 50% 50%;
background-repeat: no-repeat;

想要实现切角的效果,还有不少其他的方案,比如内联svg和border-image方案,裁切路径方案等,感兴趣的读者可以自己探索尝试。

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值