纯CSS实现带动画的天气图标 - 北京传诚信
CSS3动画属性并不是很多,但重点其实是你怎样去运用它,从简单的hover状态或复杂的小动画,都可以巧妙的用CSS3动画属性来实现。
今天主要是和大家分享一个比较有创意、实用的CSS天气图标动画,静态的天气图标看上去是很呆板,若加上动画,看起来会更加真实生动,以下例子就是很好的参考案例。
下面我们来做一个会下雨的天气图标实例,过程其实很简单哦。
STEP1: 整体HTML架构
STEP2: 用CSS绘制云朵图标
CSS代码如下
body {max-width: 42em;padding: 2em;margin: 0 auto;color: #161616;font-family: 'Roboto', sans-serif;text-align: center;background-color: currentColor;}.icon {position: relative;display: inline-block;width: 12em;height: 10em;font-size: 1em; /* control icon size here */}.cloud {position: absolute;z-index: 1;top: 50%;left: 50%;width: 3.6875em;height: 3.6875em;margin: -1.84375em;background: currentColor;border-radius: 50%;box-shadow:-2.1875em 0.6875em 0 -0.6875em,2.0625em 0.9375em 0 -0.9375em,0 0 0 0.375em #fff,-2.1875em 0.6875em 0 -0.3125em #fff,2.0625em 0.9375em 0 -0.5625em #fff;}.cloud:after {content: '';position: absolute;bottom: 0;left: -0.5em;display: block;width: 4.5625em;height: 1em;background: currentColor;box-shadow: 0 0.4375em 0 -0.0625em #fff;}.cloud:nth-child(2) {z-index: 0;background: #fff;box-shadow:-2.1875em 0.6875em 0 -0.6875em #fff,2.0625em 0.9375em 0 -0.9375em #fff,0 0 0 0.375em #fff,-2.1875em 0.6875em 0 -0.3125em #fff,2.0625em 0.9375em 0 -0.5625em #fff;opacity: 0.3;transform: scale(0.5) translate(6em, -3em);animation: cloud 4s linear infinite;}.cloud:nth-child(2):after { background: #fff; }.rain{position: absolute;z-index: 2;top: 50%;left: 50%;width: 3.75em;height: 3.75em;margin: 0.375em 0 0 -2em;background: currentColor;}.rain:after {content: '';position: absolute;z-index: 2;top: 50%;left: 50%;width: 1.125em;height: 1.125em;margin: -1em 0 0 -0.25em;background: #0cf;border-radius: 100% 0 60% 50% / 60% 0 100% 50%;box-shadow:0.625em 0.875em 0 -0.125em rgba(255,255,255,0.2),-0.875em 1.125em 0 -0.125em rgba(255,255,255,0.2),-1.375em -0.125em 0 rgba(255,255,255,0.2);transform: rotate(-28deg);animation: rain 3s linear infinite; /*设置动画 rain */}
STEP3: 下雨动画
/* 下雨动画 Animations */ @keyframes rain {0% {background: #0cf;box-shadow:0.625em 0.875em 0 -0.125em rgba(255,255,255,0.2),-0.875em 1.125em 0 -0.125em rgba(255,255,255,0.2),-1.375em -0.125em 0 #0cf;}25% {box-shadow:0.625em 0.875em 0 -0.125em rgba(255,255,255,0.2),-0.875em 1.125em 0 -0.125em #0cf,-1.375em -0.125em 0 rgba(255,255,255,0.2);}50% {background: rgba(255,255,255,0.3);box-shadow:0.625em 0.875em 0 -0.125em #0cf,-0.875em 1.125em 0 -0.125em rgba(255,255,255,0.2),-1.375em -0.125em 0 rgba(255,255,255,0.2);}100% {box-shadow:0.625em 0.875em 0 -0.125em rgba(255,255,255,0.2),-0.875em 1.125em 0 -0.125em rgba(255,255,255,0.2),-1.375em -0.125em 0 #0cf;}}
最图效果:

如果想看其它天气动画图标的代码,请查看以下网址。
在线演示地址&源码:http://codepen.io/joshbader/pen/EjXgqr
相关阅读
-
网站设计中元素的运用方法。 - 北京传诚信
对于网站设计中元素的运用形象是物体的外部特征,是可见的。形象包括视觉元素的各部分,所有的概念元素如点、线、面在见于画面时,也具有各自的形象。网站设计中的基本形:在网站设计中,一组相同或相似的形象组成,其每一组成单位成为基本形,基本形是一个最
-
图像利用在网站设计中的重要性 - 北京传诚信
图像利用在网站设计方面发挥着至关重要的作用。图像有助于吸引访问者访问网站,因为视觉效果会影响人类的思维。您可以通过多种方式使用图片来吸引对您网站的关注。图片可以通过许多不同的方式为网站增添意义; 但是在使用图片时必须非常小心,因为错误的图片
-
印刷和网站设计的不同之处有哪些? - 北京传诚信
许多客户常常说要把网站的内容直接列印当成印刷品,这个观念是急需要更正的,现在就来作个说明:许多人的问题就是把印刷用的图片文档当成网站在制作,常常印出来惨不忍睹,最大的问题就在于不了解印刷的特性与需求。或许你的电脑绘图一流,不过要用在印刷上的
-
如何摆脱网站漏洞 - 北京传诚信
您的网站是您公司的官方店面。如果它没有启动并运行,或者它无法执行其最真实的功能,这可能会极大地影响您的整体业务,并降低您获得更多客户的可能,从而对您的销售产生负面影响。这就是为什么选择最好的网站设计公司必须确保他们知道如何去除错误以及如何删
-
做网站也需要自然规律。 - 北京传诚信
网站分两部分,前台和后台,前台是我们视觉能看到的,后台就是我们使用操作的,前台就不用说了,就是我们的设计师设计出好看的网页,给您的消费者看,后台会涉及到不同的语言,比如,PHP, .NET, JAVA,具体您想用什么语言来架构您的网站,
-
提高网站可用性的5种方法 - 北京传诚信
网站设计中,一个用户友好,反应灵敏且整齐的网站不仅会给访问者带来直接的好处,还会增加他们在网站上的时间,但它提供了许多间接的好处,包括提高搜索引擎的可见性和潜在客户。在本文中,我们将介绍一些更精细的细节; 在具有高可用性的成功网站中经常出现

