各类加载loading动画效果
效果一:
一、HTML
<div class=”loader”>Loading…</div>
二、CSS
/*綠色背景*/
body {
background:#4ea980;
margin:50px;
}
/*純白色圈*/
.loader {
text-indent: -9999em;
position: relative;
width: 200px;
height: 200px;
box-shadow: inset 0 0 0 15px #FFF;
border-radius: 50%;
}
.loader::before {
position: absolute;
content: ”;
width: 100px;
height: 200px;
background: #4ea980;
/*半圓*/
border-radius: 0 200px 200px 0;
left: 100px;
/*原點(diǎn)從(0,0)移至圓心處(0,100),繞圓心旋轉(zhuǎn)*/
transform-origin: 0px 100px;
animation: load-effect 2s infinite linear;
}
/*最上層(即::before之前)繪制透明白色圓環(huán)*/
.loader::after {
position: absolute;
content: ”;
width: 200px;
height: 200px;
border-radius: 50%;
left: 0;
box-shadow: inset 0 0 0 15px rgba(255,255,255,.2);
}
/*動(dòng)畫:旋轉(zhuǎn)360°*/
@keyframes load-effect {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
效果二:
一、HTML
<div class=”loader”>Loading…</div>
二、CSS
body {
background:#4ea980;
margin:50px;
}
.loader {
text-indent: -9999em;
position: relative;
width: 200px;
height: 200px;
background: #ffffff;
/*從左向右0~10%位置純白,10%~50%純白~透明*/
background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 50%);
border-radius: 50%;
box-shadow:inset 0 0 0 20px rgba(255,255,255,.2);
-webkit-animation: load-effect 2s infinite linear;
animation: load-effect 2s infinite linear;
}
/*繪制純白1/4圓*/
.loader::before {
position: absolute;
content: ”;
width: 50%;
height: 50%;
background: #FFF;
border-radius: 100% 0 0 0;
left:0;
top:0;
}
/*繪制綠色背景內(nèi)圓,擋住白色*/
.loader::after {
background: #4ea980;
width: 160px;
height: 160px;
border-radius: 50%;
content: ”;
position: absolute;
top: 20px;
left: 20px;
}
@keyframes load-effect {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
效果三:
一、HTML
<div class=”loader”>Loading…</div>
二、CSS
body {
background:#4ea980;
margin:150px;
}
.loader {
font-size: 20px;
width: 1em;
height: 1em;
border-radius: 50%;
position: relative;
text-indent: -9999em;
animation: load-effect 1s infinite linear;
}
@keyframes load-effect {
0% {
/*
-3em:左移3em
2em:下移2em
0:模糊距離0,即純色
.5em:外擴(kuò).5em
#FFF:白色
*/
box-shadow: -3em 2em 0 .5em #FFF, 0 2em 0 0 #FFF, 3em 2em 0 -.5em #FFF;
}
25% {
box-shadow: -3em 2em 0 0 #FFF, 0 2em 0 -.5em #FFF, 3em 2em 0 0 #FFF;
}
50% {
box-shadow: -3em 2em 0 -0.5em #FFF, 0 2em 0 0 #FFF, 3em 2em 0 .5em #FFF;
}
75% {
box-shadow: -3em 2em 0 0 #FFF, 0 2em 0 .5em #FFF, 3em 2em 0 0 #FFF;
}
100% {
box-shadow: -3em 2em 0 .5em #FFF, 0 2em 0 0 #FFF, 3em 2em 0 -.5em #FFF;
}
}
效果四:
一、HTML
<div class=”loader”>Loading…</div>
二、CSS
body {
background:#4ea980;
margin:150px;
}
.loader {
font-size: 20px;
width: 1em;
height: 1em;
border-radius: 50%;
text-indent: -9999em;
animation: load-effect 1s infinite linear;
}
@keyframes load-effect {
0%{
box-shadow:
/*
0:左移3em
-3em:下移2em
0:模糊距離0,即純色
.2em:外擴(kuò).2em
#FFF:白色
*/
0 -3em 0 .2em #FFF,/*上*/
2em -2em 0 0 #FFF,/*右上*/
3em 0 0 -.5em #FFF,/*右*/
2em 2em 0 -.5em #FFF,/*右下*/
0 3em 0 -.5em #FFF, /*下*/
-2em 2em 0 -.5em #FFF, /*左下*/
-3em 0 0 -.5em #FFF, /*左*/
-2em -2em 0 0 #FFF;/*左上*/
}
12.5% {
box-shadow:
0 -3em 0 0 #FFF,
2em -2em 0 .2em #FFF,
3em 0 0 0 #FFF,
2em 2em 0 -.5em #FFF,
0 3em 0 -.5em #FFF,
-2em 2em 0 -.5em #FFF,
-3em 0 0 -.5em #FFF,
-2em -2em 0 -.5em #FFF;
}
25% {
box-shadow:
0 -3em 0 -.5em #FFF,
2em -2em 0 0 #FFF,
3em 0 0 .2em #FFF,
2em 2em 0 0 #FFF,
0 3em 0 -.5em #FFF,
-2em 2em 0 -.5em #FFF,
-3em 0 0 -.5em #FFF,
-2em -2em 0 -.5em #FFF;
}
37.5% {
box-shadow:
0 -3em 0 -.5em #FFF,
2em -2em 0 -.5em #FFF,
3em 0 0 0 #FFF,
2em 2em 0 .2em #FFF,
0 3em 0 0 #FFF,
-2em 2em 0 -.5em #FFF,
-3em 0 0 -.5em #FFF,
-2em -2em 0 -.5em #FFF;
}
50% {
box-shadow:
0 -3em 0 -.5em #FFF,
2em -2em 0 -.5em #FFF,
3em 0 0 -.5em #FFF,
2em 2em 0 0 #FFF,
0 3em 0 .2em #FFF,
-2em 2em 0 0 #FFF,
-3em 0 0 -.5em #FFF,
-2em -2em 0 -.5em #FFF;
}
62.5% {
box-shadow:
0 -3em 0 -.5em #FFF,
2em -2em 0 -.5em #FFF,
3em 0 0 -.5em #FFF,
2em 2em 0 -.5em #FFF,
0 3em 0 0 #FFF,
-2em 2em 0 .2em #FFF,
-3em 0 0 0 #FFF,
-2em -2em 0 -.5em #FFF;
}
75% {
box-shadow:
0 -3em 0 -.5em #FFF,
2em -2em 0 -.5em #FFF,
3em 0 0 -.5em #FFF,
2em 2em 0 -.5em #FFF,
0 3em 0 -.5em #FFF,
-2em 2em 0 0 #FFF,
-3em 0 0 .2em #FFF,
-2em -2em 0 0 #FFF;
}
87.5% {
box-shadow:
0 -3em 0 0 #FFF,
2em -2em 0 -.5em #FFF,
3em 0 0 -.5em #FFF,
2em 2em 0 -.5em #FFF,
0 3em 0 -.5em #FFF,
-2em 2em 0 0 #FFF,
-3em 0 0 0 #FFF,
-2em -2em 0 .2em #FFF;
}
100% {
box-shadow:
0 -3em 0 .2em #FFF,
2em -2em 0 0 #FFF,
3em 0 0 -.5em #FFF,
2em 2em 0 -.5em #FFF,
0 3em 0 -.5em #FFF,
-2em 2em 0 -.5em #FFF,
-3em 0 0 -.5em #FFF,
-2em -2em 0 0 #FFF;
}
}
!100%其實(shí)與0%是一樣的,即100%返回初始狀態(tài)
總結(jié)
以上是生活随笔為你收集整理的各类加载loading动画效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RxJs combineLatest O
- 下一篇: 普林斯顿体系架构和哈佛架构的区别_边和