css3加载动画1

发布于 结一

这是第一个纯css3的loading动画。这个demo的技巧在于先通过:before生成一个外围,这样就形成了两个圆圈,还是以前虚线框里面说的通过上下左右定位为-20px来扩大的外围的圆圈,这些都是静止的。正在运用的其实是一个空span标签设计出来的一个三角形,这里设置的颜色与背景色一直,所以看不出来,其实你可以设置为红色方便观察,就明白了。最后就是animation的运用了。

demodownload

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);
	}
}

demodownload

Nike Ambassador VIII 8