静态的天气图标看久了显得呆板,那么下面就分享一个很有才创意的用CSS实现天气带动画的天气图标,代码都分享出来,以这个例子作为参考希望你能得到启发。enjoy!rKYHTML5中文学习网 - HTML5先行者学习网

下面我们来做一个会下雨的天气图标实例,过程其实很简单哦。rKYHTML5中文学习网 - HTML5先行者学习网

STEP1: 整体HTML架构rKYHTML5中文学习网 - HTML5先行者学习网
<div class="icon rainy">rKYHTML5中文学习网 - HTML5先行者学习网
<div class="cloud"></div>rKYHTML5中文学习网 - HTML5先行者学习网
<div class="rain"></div>rKYHTML5中文学习网 - HTML5先行者学习网
</div>rKYHTML5中文学习网 - HTML5先行者学习网
STEP2: 用CSS绘制云朵图标rKYHTML5中文学习网 - HTML5先行者学习网
CSS代码如下rKYHTML5中文学习网 - HTML5先行者学习网
body {rKYHTML5中文学习网 - HTML5先行者学习网
max-width: 42em;rKYHTML5中文学习网 - HTML5先行者学习网
padding: 2em;rKYHTML5中文学习网 - HTML5先行者学习网
margin: 0 auto;rKYHTML5中文学习网 - HTML5先行者学习网
color: #161616;rKYHTML5中文学习网 - HTML5先行者学习网
font-family: 'Roboto', sans-serif;rKYHTML5中文学习网 - HTML5先行者学习网
text-align: center;rKYHTML5中文学习网 - HTML5先行者学习网
background-color: currentColor;rKYHTML5中文学习网 - HTML5先行者学习网
}rKYHTML5中文学习网 - HTML5先行者学习网
.icon {rKYHTML5中文学习网 - HTML5先行者学习网
position: relative;rKYHTML5中文学习网 - HTML5先行者学习网
display: inline-block;rKYHTML5中文学习网 - HTML5先行者学习网
width: 12em;rKYHTML5中文学习网 - HTML5先行者学习网
height: 10em;rKYHTML5中文学习网 - HTML5先行者学习网
font-size: 1em; /* control icon size here */rKYHTML5中文学习网 - HTML5先行者学习网
}rKYHTML5中文学习网 - HTML5先行者学习网
.cloud {rKYHTML5中文学习网 - HTML5先行者学习网
position: absolute;rKYHTML5中文学习网 - HTML5先行者学习网
z-index: 1;rKYHTML5中文学习网 - HTML5先行者学习网
top: 50%;rKYHTML5中文学习网 - HTML5先行者学习网
left: 50%;rKYHTML5中文学习网 - HTML5先行者学习网
width: 3.6875em;rKYHTML5中文学习网 - HTML5先行者学习网
height: 3.6875em;rKYHTML5中文学习网 - HTML5先行者学习网
margin: -1.84375em;rKYHTML5中文学习网 - HTML5先行者学习网
background: currentColor;rKYHTML5中文学习网 - HTML5先行者学习网
border-radius: 50%;rKYHTML5中文学习网 - HTML5先行者学习网
box-shadow:rKYHTML5中文学习网 - HTML5先行者学习网
-2.1875em 0.6875em 0 -0.6875em,rKYHTML5中文学习网 - HTML5先行者学习网
2.0625em 0.9375em 0 -0.9375em,rKYHTML5中文学习网 - HTML5先行者学习网
0 0 0 0.375em #fff,rKYHTML5中文学习网 - HTML5先行者学习网
-2.1875em 0.6875em 0 -0.3125em #fff,rKYHTML5中文学习网 - HTML5先行者学习网
2.0625em 0.9375em 0 -0.5625em #fff;rKYHTML5中文学习网 - HTML5先行者学习网
}rKYHTML5中文学习网 - HTML5先行者学习网
.cloud:after {rKYHTML5中文学习网 - HTML5先行者学习网
content: '';rKYHTML5中文学习网 - HTML5先行者学习网
position: absolute;rKYHTML5中文学习网 - HTML5先行者学习网
bottom: 0;rKYHTML5中文学习网 - HTML5先行者学习网
left: -0.5em;rKYHTML5中文学习网 - HTML5先行者学习网
display: block;rKYHTML5中文学习网 - HTML5先行者学习网
width: 4.5625em;rKYHTML5中文学习网 - HTML5先行者学习网
height: 1em;rKYHTML5中文学习网 - HTML5先行者学习网
background: currentColor;rKYHTML5中文学习网 - HTML5先行者学习网
box-shadow: 0 0.4375em 0 -0.0625em #fff;rKYHTML5中文学习网 - HTML5先行者学习网
}rKYHTML5中文学习网 - HTML5先行者学习网
.cloud:nth-child(2) {rKYHTML5中文学习网 - HTML5先行者学习网
z-index: 0;rKYHTML5中文学习网 - HTML5先行者学习网
background: #fff;rKYHTML5中文学习网 - HTML5先行者学习网
box-shadow:rKYHTML5中文学习网 - HTML5先行者学习网
-2.1875em 0.6875em 0 -0.6875em #fff,rKYHTML5中文学习网 - HTML5先行者学习网
2.0625em 0.9375em 0 -0.9375em #fff,rKYHTML5中文学习网 - HTML5先行者学习网
0 0 0 0.375em #fff,rKYHTML5中文学习网 - HTML5先行者学习网
-2.1875em 0.6875em 0 -0.3125em #fff,rKYHTML5中文学习网 - HTML5先行者学习网
2.0625em 0.9375em 0 -0.5625em #fff;rKYHTML5中文学习网 - HTML5先行者学习网
opacity: 0.3;rKYHTML5中文学习网 - HTML5先行者学习网
transform: scale(0.5) translate(6em, -3em);rKYHTML5中文学习网 - HTML5先行者学习网
animation: cloud 4s linear infinite;rKYHTML5中文学习网 - HTML5先行者学习网
}rKYHTML5中文学习网 - HTML5先行者学习网
.cloud:nth-child(2):after { background: #fff; }rKYHTML5中文学习网 - HTML5先行者学习网
.rain{rKYHTML5中文学习网 - HTML5先行者学习网
position: absolute;rKYHTML5中文学习网 - HTML5先行者学习网
z-index: 2;rKYHTML5中文学习网 - HTML5先行者学习网
top: 50%;rKYHTML5中文学习网 - HTML5先行者学习网
left: 50%;rKYHTML5中文学习网 - HTML5先行者学习网
width: 3.75em;rKYHTML5中文学习网 - HTML5先行者学习网
height: 3.75em;rKYHTML5中文学习网 - HTML5先行者学习网
margin: 0.375em 0 0 -2em;rKYHTML5中文学习网 - HTML5先行者学习网
background: currentColor;rKYHTML5中文学习网 - HTML5先行者学习网
}rKYHTML5中文学习网 - HTML5先行者学习网
.rain:after {rKYHTML5中文学习网 - HTML5先行者学习网
content: '';rKYHTML5中文学习网 - HTML5先行者学习网
position: absolute;rKYHTML5中文学习网 - HTML5先行者学习网
z-index: 2;rKYHTML5中文学习网 - HTML5先行者学习网
top: 50%;rKYHTML5中文学习网 - HTML5先行者学习网
left: 50%;rKYHTML5中文学习网 - HTML5先行者学习网
width: 1.125em;rKYHTML5中文学习网 - HTML5先行者学习网
height: 1.125em;rKYHTML5中文学习网 - HTML5先行者学习网
margin: -1em 0 0 -0.25em;rKYHTML5中文学习网 - HTML5先行者学习网
background: #0cf;rKYHTML5中文学习网 - HTML5先行者学习网
border-radius: 100% 0 60% 50% / 60% 0 100% 50%;rKYHTML5中文学习网 - HTML5先行者学习网
box-shadow:rKYHTML5中文学习网 - HTML5先行者学习网
0.625em 0.875em 0 -0.125em rgba(255,255,255,0.2),rKYHTML5中文学习网 - HTML5先行者学习网
-0.875em 1.125em 0 -0.125em rgba(255,255,255,0.2),rKYHTML5中文学习网 - HTML5先行者学习网
-1.375em -0.125em 0 rgba(255,255,255,0.2);rKYHTML5中文学习网 - HTML5先行者学习网
transform: rotate(-28deg);rKYHTML5中文学习网 - HTML5先行者学习网
animation: rain 3s linear infinite; /*设置动画 rain */rKYHTML5中文学习网 - HTML5先行者学习网
}rKYHTML5中文学习网 - HTML5先行者学习网
STEP3: 下雨动画rKYHTML5中文学习网 - HTML5先行者学习网
/* 下雨动画 Animations */rKYHTML5中文学习网 - HTML5先行者学习网
@keyframes rain {rKYHTML5中文学习网 - HTML5先行者学习网
0% {rKYHTML5中文学习网 - HTML5先行者学习网
background: #0cf;rKYHTML5中文学习网 - HTML5先行者学习网
box-shadow:rKYHTML5中文学习网 - HTML5先行者学习网
0.625em 0.875em 0 -0.125em rgba(255,255,255,0.2),rKYHTML5中文学习网 - HTML5先行者学习网
-0.875em 1.125em 0 -0.125em rgba(255,255,255,0.2),rKYHTML5中文学习网 - HTML5先行者学习网
-1.375em -0.125em 0 #0cf;rKYHTML5中文学习网 - HTML5先行者学习网
}rKYHTML5中文学习网 - HTML5先行者学习网
25% {rKYHTML5中文学习网 - HTML5先行者学习网
box-shadow:rKYHTML5中文学习网 - HTML5先行者学习网
0.625em 0.875em 0 -0.125em rgba(255,255,255,0.2),rKYHTML5中文学习网 - HTML5先行者学习网
-0.875em 1.125em 0 -0.125em #0cf,rKYHTML5中文学习网 - HTML5先行者学习网
-1.375em -0.125em 0 rgba(255,255,255,0.2);rKYHTML5中文学习网 - HTML5先行者学习网
}rKYHTML5中文学习网 - HTML5先行者学习网
50% {rKYHTML5中文学习网 - HTML5先行者学习网
background: rgba(255,255,255,0.3);rKYHTML5中文学习网 - HTML5先行者学习网
box-shadow:rKYHTML5中文学习网 - HTML5先行者学习网
0.625em 0.875em 0 -0.125em #0cf,rKYHTML5中文学习网 - HTML5先行者学习网
-0.875em 1.125em 0 -0.125em rgba(255,255,255,0.2),rKYHTML5中文学习网 - HTML5先行者学习网
-1.375em -0.125em 0 rgba(255,255,255,0.2);rKYHTML5中文学习网 - HTML5先行者学习网
}rKYHTML5中文学习网 - HTML5先行者学习网
100% {rKYHTML5中文学习网 - HTML5先行者学习网
box-shadow:rKYHTML5中文学习网 - HTML5先行者学习网
0.625em 0.875em 0 -0.125em rgba(255,255,255,0.2),rKYHTML5中文学习网 - HTML5先行者学习网
-0.875em 1.125em 0 -0.125em rgba(255,255,255,0.2),rKYHTML5中文学习网 - HTML5先行者学习网
-1.375em -0.125em 0 #0cf;rKYHTML5中文学习网 - HTML5先行者学习网
}rKYHTML5中文学习网 - HTML5先行者学习网
}rKYHTML5中文学习网 - HTML5先行者学习网
最图效果:rKYHTML5中文学习网 - HTML5先行者学习网
rKYHTML5中文学习网 - HTML5先行者学习网