css3怎么做多边形,CSS | 实现有趣的多边形

“曾经有一个多边形摆在我面前,我不懂实现,等我查询探索时,才发现它的巧妙非常,css的灵活不绝于此。如果上天能够给它一个说话的机会,它告诉世界:无敌,是多么,多么寂寞!如果非要给这个无敌加上个期限,那就是:无极限!”

——题记,改编源自《仙履奇缘》

正文

前端开发路漫漫,在行走web世界的路途中,我们肯定有遇到多边形的设计,最简单的方法莫过于直接上图片走起,作为一个有“追求”的前端,当然是要“自虐”了……今天我们就来说说前端编程怎么实现多边形,先上一张图,乃们可以先想想怎么实现。

047513b9f34a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

效果图

“咋实现咋实现”,“有文字斜体向上么”,“word天,还是直接给我img吧,感觉好麻烦”。放轻松,深呼吸,跟着我,一起看css如何打磨。

这个类似标签的多边形,我们可以看成平行四边行和立三角形的结合,先上一个矩形:

047513b9f34a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

简单的width,height

那矩形怎么变成平行四边形呢?就拿一个铁丝做的矩形举例,怎么变成平行四边形?有人回答:很简单啊,扭曲一下不就好了。对了,就是扭曲,transform的skew属性。

047513b9f34a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

transform: skew(-10deg);

诶,这时有人问了,没有斜向上呀?怎么破,别急,看:

047513b9f34a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

transform: skew(-10deg) rotate(-8deg)

好了,差不多了吧,可是还有个三角形呢,来,上图:

047513b9f34a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

利用width:0;height: 0

代码如下:

047513b9f34a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

三角形代码

为什么要用before伪元素呢?你懂得,方便布局,这里很巧妙的运用了width和height均为0,利用border的颜色和位置进行设置,包括平时看到的大部分多边形,差不多都是这个原理。最终代码如下:

047513b9f34a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

code

作为css探索者,试试设置不同的border,结合transform,看看有何巧妙的效果,五角星,八边形……手到擒来,向多边形的世界出击吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值