css3加载动画1
这是第一个纯css3的loading动画。这个demo的技巧在于先通过:before生成一个外围,这样就形成了两个圆圈,还是以前虚线框里面说的通过上下左右定位为-20px来扩大的外围的圆圈,这些都是静止的。正在运用的其实是一个空span标签设计出来的一个三角形,这里设置的颜色与背景色一直,所以看不出来,其实你可以设置为红色方便观察,就明白了。最后就是animation的运用了。
css代码:
#loading {
margin: 80px auto;
position: relative;
width: 100px;
height: 100px;
-webkit-border-radius: 50px;
-moz-border-radius: 50px;
border-radius: 50px;
background: #ccc;
font: 12px "Lucida Grande", Sans-Serif;
text-align: center;
line-height: 100px;
color: white;
-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
-moz-box-shadow: 0 0 5px rgba(0,0,0,0.5);
box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
#loading:before {
content: "";
position: absolute;
left: -20px;
top: -20px;
bottom: -20px;
right: -20px;
-webkit-border-radius: 70px;
-moz-border-radius: 70px;
border-radius: 70px;
background: #eee;
z-index: -2;
-webkit-box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
-moz-box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
}
#loading span {
position: absolute;
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 80px solid rgba(255,255,255,0.7);
z-index: -1;
top: -28px;
left: 0px;
-webkit-animation: ticktock 5s linear infinite;
-webkit-transform-origin: 50px 80px;
-moz-animation: ticktock 5s linear infinite;
-moz-transform-origin: 50px 80px;
}
#loading strong {
overflow: hidden;
display: block;
margin: 0 auto;
-webkit-animation: expand 2.5s linear infinite;
-moz-animation: expand 2.5s linear infinite;
}
@-webkit-keyframes expand {
0% {
width: 0;
}
100% {
width: 60px;
}
}
@-moz-keyframes expand {
0% {
width: 0;
}
100% {
width: 60px;
}
}
@-webkit-keyframes ticktock {
0% {
-webkit-transform: rotate(0);
}
100% {
-webkit-transform: rotate(360deg);
}
}
@-moz-keyframes ticktock {
0% {
-moz-transform: rotate(0);
}
100% {
-moz-transform: rotate(360deg);
}
}




