觉得无聊就用CSS绘制一个图标玩儿吧

图标不是有设计师在设计软件中做吗?为什么要用CSS来绘制图标呢?原因就是好玩儿呗!而且同时还是加强我们的CSS熟练度以及考验我们的思考能力。何乐而不为呢。我们今天就一起来看看怎么用CSS绘制图标。

在这之前我们先来看几个网友用CSS画的图标

上面的这些图标都是用CSS3花出来的,是不是很好玩儿,很有趣。非常的酷炫狂拽。想不想自己也试一试呢?

好了,先来考虑一下用CSS画图标的原理:

比如说一个矩形,怎么用CSS来画

我想这个对于大家来说是很简单的,只要学习过CSS的肯定都能画出来,我们稍微调整一下它的宽高,又能得到正方形了,线状之类的图形:

但是要画一个三角形呢?

在早期的CSS中是没有任何一个样式是可以生成三角形或者是不规则之类的图形的,后来就有人发现了边框的奥秘。

先来给某个元素应用边框:

如果给这四个边框都应用不同的颜色:

我们会发现这些边框的交界处是一条斜线,然后我们进一步把元素的高度和宽度减少至零,然后增加边框的宽度:

样式参考:

div{

width:0px;

height:0px;

border-top:150pxsolid blue;

border-bottom:150pxsolid black;

border-left:150pxsolid yellow;

border-right:150pxsolid green;

}

神奇的事情发生了,我们得到了是个尖对尖的三角形,把我们不需要的边给去掉,然后就得到了一个三角形:

样式参考;

div{

width:0px;

height:0px;

border-bottom:150pxsolid blue;

border-left:150pxsolid transparent;

border-right:150pxsolid transparent;

}

修改不同方向上边框的厚度,还能变换出各种角度的三角形

div{

width:0px;

height:0px;

border-bottom:150pxsolid blue;

border-left:0pxsolid transparent;

border-right:150pxsolid transparent;

}

画完三角形,再来看一下如何画圆:

我相信大家都知道在CSS3中,有border-radius这样一个属性,圆角边框:

border-radius不仅对边框border起作用,对实体矩形也是有作用的。当我们我们将圆角的值增大到一定的时候,就会得到一个圆:

代码参考:

div{

width:200px;

height:200px;

background:red;

border-radius:100px;

}

代码参考:

div{

width:200px;

height:20px;

background:red;

border-radius:100px;

}

或者这样的一个圆角条:

根据上面的基本图形,组合一下,得到这样一个图标:

所以这就是用CSS绘制图标的一个思路,一些很复杂的图标,我们将其拆开,会发现它都是有一些基本的图形构成的。

接下来再来看一个比较有难度的

前面的三角形好说,大家现在应该都会写,问题就在于后面的那个小弯构。

我们来思考一下:

我们可以先从四分之一的圆角下手

将其中一边的厚度减为零,就会得到这样一个东西:

最后我们调整宽高再加上三角:

代码参考:

上面给大家介绍的这些技巧都是非常标准的CSS特性,只有那些对CSS的各种特性观察入微的人才有可能在非常规的状态下将其发挥出来,完成那些不可能完成的任务。开动脑子做起来吧!

网站介绍:http://one-div.com/

这个网站收集了作者自己制作的一些纯CSS图标,这里面的图标有一个很大的特点都是用一个空的div来实现的非常厉害。推荐大家去看一下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 13,249评论 0 8
  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 8,384评论 0 11
  • 深入理解傅里叶变换Mar 12, 2017 这原本是我在知乎上对傅立叶变换、拉普拉斯变换、Z变换的联系?为什么要进...
    价值趋势技术派阅读 11,067评论 2 2
  • 我们常说人之初性本善,可是我们也不能忽略了人性的险恶之处。 好像只要不承担责任,人性中的恶就像挣脱了牢笼的恶魔,带...
    番茄爱旅行阅读 3,785评论 1 4
  • 深呼吸,深深深呼吸,我只需要你安静,什么都不说什么都不做,安静下来,让世界只听到你的呼吸。
    静一0阅读 845评论 0 0