css3-loading

css3-loading

css

.loading {
	position: relative;
}
.loading:before, .loading:after {
	position: absolute;
	content: ' ';
	display: block;
	border: 1.8px solid #888888;
	border-radius: 50%;
}
.loading:before {
	top: 0;
	left: 0;
	width: 12px;
	height: 12px;
	border-left-color: transparent;
}
.loading:after {
	top: 2.4px;
	left: 2.4px;
	width: 7.2px;
	height: 7.2px;
	border-right-color: transparent;
}
.loading:before {
	-webkit-animation: r1Animate 1s ease infinite;
	-moz-animation: r1Animate 1s ease infinite;
	-ms-animation: r1Animate 1s ease infinite;
	-o-animation: r1Animate 1s ease infinite;
	animation: r1Animate 1s ease infinite;
}
.loading:after {
	-webkit-animation: r2Animate 0.8s ease infinite;
	-moz-animation: r2Animate 0.8s ease infinite;
	-ms-animation: r2Animate 0.8s ease infinite;
	-o-animation: r2Animate 0.8s ease infinite;
	animation: r2Animate 0.8s ease infinite;
}

@-webkit-keyframes r1Animate{from{-webkit-transform: rotate(0deg);} to  {-webkit-transform: rotate(360deg);}}
@-moz-keyframes r1Animate{from{-moz-transform: rotate(0deg);} to  {-moz-transform: rotate(360deg);}}
@-ms-keyframes r1Animate{from{-ms-transform: rotate(0deg);} to  {-ms-transform: rotate(360deg);}}
@-o-keyframes r1Animate{from{-o-transform: rotate(0deg);} to  {-o-transform: rotate(360deg);}}
@keyframes r1Animate{from{transform: rotate(0deg);} to  {transform: rotate(360deg);}}

@-webkit-keyframes r2Animate{from{-webkit-transform: rotate(0deg);}to  {-webkit-transform: rotate(-360deg);}}
@-moz-keyframes r2Animate{from{-moz-transform: rotate(0deg);}to  {-moz-transform: rotate(-360deg);}}
@-ms-keyframes r2Animate{from{-ms-transform: rotate(0deg);}to  {-ms-transform: rotate(-360deg);}}
@-o-keyframes r2Animate{from{-o-transform: rotate(0deg);}to  {-o-transform: rotate(-360deg);}}
@keyframes r2Animate{from{transform: rotate(0deg);}to  {transform: rotate(-360deg);}}

less

.loading {
	@width:12px;
	@color:#888;
	@speed:1s;
	position: relative;
	&:before,&:after{
		position: absolute;
		content:' ';
		display: block;
		border: @width*0.15 solid @color;
		border-radius: 50%;
	}
	&:before{ 
		top: 0 ;
		left: 0;
		width: @width;
		height: @width;
		border-left-color: transparent;
	}
	&:after{ 
		top: @width*0.2 ;
		left:@width*0.2 ;
		width:@width*0.6;
		height:@width*0.6;
		border-right-color: transparent;
	}
 
	&:before{
	-webkit-animation: r1Animate @speed ease infinite;
	   -moz-animation: r1Animate @speed ease infinite;
		-ms-animation: r1Animate @speed ease infinite;
		 -o-animation: r1Animate @speed ease infinite;
			animation: r1Animate @speed ease infinite;
	}

	&:after{
	-webkit-animation: r2Animate @speed*0.8 ease infinite;
	   -moz-animation: r2Animate @speed*0.8 ease infinite;
		-ms-animation: r2Animate @speed*0.8 ease infinite;
		 -o-animation: r2Animate @speed*0.8 ease infinite;
			animation: r2Animate @speed*0.8 ease infinite;
	}

	@-webkit-keyframes r1Animate{from{-webkit-transform: rotate(0deg);} to  {-webkit-transform: rotate(360deg);}}
	@-moz-keyframes r1Animate{from{-moz-transform: rotate(0deg);} to  {-moz-transform: rotate(360deg);}}
	@-ms-keyframes r1Animate{from{-ms-transform: rotate(0deg);} to  {-ms-transform: rotate(360deg);}}
	@-o-keyframes r1Animate{from{-o-transform: rotate(0deg);} to  {-o-transform: rotate(360deg);}}
	@keyframes r1Animate{from{transform: rotate(0deg);} to  {transform: rotate(360deg);}}
 
 
	@-webkit-keyframes r2Animate{from{-webkit-transform: rotate(0deg);}to  {-webkit-transform: rotate(-360deg);}}
	@-moz-keyframes r2Animate{from{-moz-transform: rotate(0deg);}to  {-moz-transform: rotate(-360deg);}}
	@-ms-keyframes r2Animate{from{-ms-transform: rotate(0deg);}to  {-ms-transform: rotate(-360deg);}}
	@-o-keyframes r2Animate{from{-o-transform: rotate(0deg);}to  {-o-transform: rotate(-360deg);}}
	@keyframes r2Animate{from{transform: rotate(0deg);}to  {transform: rotate(-360deg);}}
}

##html

<div class=loading ></div>