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); } }Nike Ambassador VIII 8