CSS | 实现有趣的多边形

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

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

正文

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

效果图

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

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

简单的width,height

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

transform: skew(-10deg);

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

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

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

利用width:0;height: 0

代码如下:

三角形代码

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

code

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 13,295评论 0 8
  • 最近在逛某个技术网站的时候,感觉文章关键词上的样式好酷炫啊,分页的样式。来张截图: 你在首页的底部也可以看到这样一...
    web前端学习阅读 4,522评论 0 4
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 6,859评论 0 11
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 5,890评论 0 2
  • 还是,比较困
    良辰美LiangChen阅读 1,108评论 0 0

友情链接更多精彩内容