< template>
< div class = "ai-loader-box" >
< ! -- AI loader -- >
< div class = "ai-loader" >
< div class = "text" >
< p> AI 智能分析中... . < / p>
< / div>
< div class = "horizontal" > < div class = "circlesup" > < div class = "circle" > < / div> < div class = "circle" > < / div> < div class = "circle" > < / div> < div class = "circle" > < / div> < div class = "circle" > < / div> < / div> < div class = "circlesdwn" > < div class = "circle" > < / div> < div class = "circle" > < / div> < div class = "circle" > < / div> < div class = "circle" > < / div> < div class = "circle" > < / div> < / div> < / div> < div class = "vertical" > < div class = "circlesup" > < div class = "circle" > < / div> < div class = "circle" > < / div> < div class = "circle" > < / div> < div class = "circle" > < / div> < div class = "circle" > < / div> < / div> < div class = "circlesdwn" > < div class = "circle" > < / div> < div class = "circle" > < / div> < div class = "circle" > < / div> < div class = "circle" > < / div> < div class = "circle" > < / div> < / div> < / div> < / div>
< / div>
< / template>
< style scoped>
. ai- loader- box{
position: relative;
width: 600 px;
height: 600 px;
margin: 20 px auto;
}
. ai- loader {
position: absolute;
top: 50 % ;
left: 50 % ;
- webkit- transform: translate ( - 50 % , - 50 % ) ;
- moz- transform: translate ( - 50 % , - 50 % ) ;
- mos- transform: translate ( - 50 % , - 50 % ) ;
- o- transform: translate ( - 50 % , - 50 % ) ;
transform: translate ( - 50 % , - 50 % ) ;
text- align: center;
- webkit- touch- callout: none;
- webkit- user- select: none;
- khtml- user- select: none;
- moz- user- select: none;
- ms- user- select: none;
user- select: none;
cursor: default ;
}
. text {
position: absolute;
left: - 110 px;
top: - 1.7 em;
width: 280 px;
z- index: 10 ;
color: #f00;
background: #fff1f1db;
border- radius: 4 px;
font- size: 40 px;
}
. vertical {
position: absolute;
top: - 1.84 em;
left: - 0.4 em;
- webkit- transform: rotate ( 90 deg) ;
- moz- transform: rotate ( 90 deg) ;
- ms- transform: rotate ( 90 deg) ;
- o- transform: rotate ( 90 deg) ;
transform: rotate ( 90 deg) ;
}
. horizontal {
position: absolute;
top: 0 em;
left: 0 em;
- webkit- transform: rotate ( 0 deg) ;
- moz- transform: rotate ( 0 deg) ;
- ms- transform: rotate ( 0 deg) ;
- o- transform: rotate ( 0 deg) ;
transform: rotate ( 0 deg) ;
}
. circlesup {
position: absolute;
top: - 4.7 em;
right: 12.1 em;
}
. circlesdwn {
position: absolute;
top: 2.5 em;
right: - 13.5 em;
- webkit- transform: rotate ( 180 deg) ;
- moz- transform: rotate ( 180 deg) ;
- ms- transform: rotate ( 180 deg) ;
- o- transform: rotate ( 180 deg) ;
transform: rotate ( 180 deg) ;
}
. circle {
position: absolute;
width: 15 em;
height: 15 em;
- webkit- transform: rotate ( 45 deg) ;
- moz- transform: rotate ( 45 deg) ;
- ms- transform: rotate ( 45 deg) ;
- o- transform: rotate ( 45 deg) ;
transform: rotate ( 45 deg) ;
- webkit- animation: orbit 2 s infinite;
- moz- animation: orbit 2 s infinite;
- moz- animation: orbit 2 s infinite;
- ms- animation: orbit 2 s infinite;
- o- animation: orbit 2 s infinite;
animation: orbit 2 s infinite;
z- index: 5 ;
}
. circle: after {
content: '' ;
position: absolute;
width: 2 em;
height: 2 em;
- webkit- border- radius: 100 % ;
- moz- border- radius: 100 % ;
- ms- border- radius: 100 % ;
- o- border- radius: 100 % ;
border- radius: 100 % ;
background: rgb ( 255 , 20 , 20 ) ;
}
. circle: nth- child ( 2 ) {
- webkit- animation- delay: 100 ms;
- moz- animation- delay: 100 ms;
- ms- animation- delay: 100 ms;
- o- animation- delay: 100 ms;
animation- delay: 100 ms;
z- index: 4 ;
}
. circle: nth- child ( 2 ) : after {
background: var ( -- el- color- primary) ;
- webkit- transform: scale ( 0.8 , 0.8 ) ;
- moz- transform: scale ( 0.8 , 0.8 ) ;
- ms- transform: scale ( 0.8 , 0.8 ) ;
- o- transform: scale ( 0.8 , 0.8 ) ;
transform: scale ( 0.8 , 0.8 ) ;
}
. circle: nth- child ( 3 ) {
- webkit- animation- delay: 225 ms;
- moz- animation- delay: 225 ms;
- ms- animation- delay: 225 ms;
- o- animation- delay: 225 ms;
animation- delay: 225 ms;
z- index: 3 ;
}
. circle: nth- child ( 3 ) : after {
background: var ( -- el- color- primary- light- 3 ) ;
- webkit- transform: scale ( 0.6 , 0.6 ) ;
- moz- transform: scale ( 0.6 , 0.6 ) ;
- ms- transform: scale ( 0.6 , 0.6 ) ;
- o- transform: scale ( 0.6 , 0.6 ) ;
transform: scale ( 0.6 , 0.6 ) ;
}
. circle: nth- child ( 4 ) {
- webkit- animation- delay: 350 ms;
- moz- animation- delay: 350 ms;
- ms- animation- delay: 350 ms;
- o- animation- delay: 350 ms;
animation- delay: 350 ms;
z- index: 2 ;
}
. circle: nth- child ( 4 ) : after {
background: var ( -- el- color- primary- light- 5 ) ;
- webkit- transform: scale ( 0.4 , 0.4 ) ;
- moz- transform: scale ( 0.4 , 0.4 ) ;
- ms- transform: scale ( 0.4 , 0.4 ) ;
- o- transform: scale ( 0.4 , 0.4 ) ;
transform: scale ( 0.4 , 0.4 ) ;
}
. circle: nth- child ( 5 ) {
- webkit- animation- delay: 475 ms;
- moz- animation- delay: 475 ms;
- ms- animation- delay: 475 ms;
- o- animation- delay: 475 ms;
animation- delay: 475 ms;
z- index: 1 ;
}
. circle: nth- child ( 5 ) : after {
background: var ( -- el- color- primary) ;
- webkit- transform: scale ( 0.2 , 0.2 ) ;
- moz- transform: scale ( 0.2 , 0.2 ) ;
- ms- transform: scale ( 0.2 , 0.2 ) ;
- o- transform: scale ( 0.2 , 0.2 ) ;
transform: scale ( 0.2 , 0.2 ) ;
}
@- webkit- keyframes orbit {
0 % {
- webkit- transform: rotate ( 45 deg) ;
}
5 % {
- webkit- transform: rotate ( 45 deg) ;
- webkit- animation- timing- function : ease- out;
}
70 % {
- webkit- transform: rotate ( 405 deg) ;
- webkit- animation- timing- function : ease- in ;
}
100 % {
- webkit- transform: rotate ( 405 deg) ;
}
}
@- moz- keyframes orbit {
0 % {
- moz- transform: rotate ( 45 deg) ;
}
5 % {
- moz- transform: rotate ( 45 deg) ;
- moz- animation- timing- function : ease- out;
}
70 % {
- moz- transform: rotate ( 405 deg) ;
- moz- animation- timing- function : ease- in ;
}
100 % {
- moz- transform: rotate ( 405 deg) ;
}
}
@- ms- keyframes orbit {
0 % {
- ms- transform: rotate ( 45 deg) ;
}
5 % {
- ms- transform: rotate ( 45 deg) ;
- ms- animation- timing- function : ease- out;
}
70 % {
- ms- transform: rotate ( 405 deg) ;
- ms- animation- timing- function : ease- in ;
}
100 % {
- ms- transform: rotate ( 405 deg) ;
}
}
@- o- keyframes orbit {
0 % {
- o- transform: rotate ( 45 deg) ;
}
5 % {
- o- transform: rotate ( 45 deg) ;
- o- animation- timing- function : ease- out;
}
70 % {
- o- transform: rotate ( 405 deg) ;
- o- animation- timing- function : ease- in ;
}
100 % {
- o- transform: rotate ( 405 deg) ;
}
}
@keyframes orbit {
0 % {
transform: rotate ( 45 deg) ;
}
5 % {
transform: rotate ( 45 deg) ;
animation- timing- function : ease- out;
}
70 % {
transform: rotate ( 405 deg) ;
animation- timing- function : ease- in ;
}
100 % {
transform: rotate ( 405 deg) ;
}
}
@- webkit- keyframes text {
0 % {
- webkit- transform: scale ( 0.2 , 0.2 ) ;
- webkit- animation- timing- function : ease- out;
}
40 % , 60 % {
- webkit- transform: scale ( 1 , 1 ) ;
- webkit- animation- timing- function : ease- out;
}
70 % , 100 % {
- webkit- transform: scale ( 0.2 , 0.2 ) ;
}
}
@- moz- keyframes text {
0 % {
- moz- transform: scale ( 0.2 , 0.2 ) ;
- moz- animation- timing- function : ease- out;
}
50 % {
- moz- transform: scale ( 1 , 1 ) ;
- moz- animation- timing- function : ease- out;
}
60 % {
- moz- transform: scale ( 1 , 1 ) ;
- moz- animation- timing- function : ease- out;
}
100 % {
- moz- transform: scale ( 0.2 , 0.2 ) ;
}
}
@- mos- keyframes text {
0 % {
- mos- transform: scale ( 0.2 , 0.2 ) ;
- mos- animation- timing- function : ease- out;
}
50 % {
- mos- transform: scale ( 1 , 1 ) ;
- mos- animation- timing- function : ease- out;
}
60 % {
- mos- transform: scale ( 1 , 1 ) ;
- mos- animation- timing- function : ease- out;
}
100 % {
- mos- transform: scale ( 0.2 , 0.2 ) ;
}
}
@- o- keyframes text {
0 % {
- o- transform: scale ( 1 , 1 ) ;
- o- animation- timing- function : ease- out;
}
50 % {
- o- transform: scale ( 2 , 2 ) ;
- o- animation- timing- function : ease- out;
}
100 % {
- o- transform: scale ( 1 , 1 ) ;
- o- animation- timing- function : ease- out;
}
}
@keyframes text {
0 % {
transform: scale ( 1 , 1 ) ;
animation- timing- function : ease- out;
}
50 % {
transform: scale ( 2 , 2 ) ;
animation- timing- function : ease- out;
}
100 % {
transform: scale ( 1 , 1 ) ;
animation- timing- function : ease- out;
}
}
< / style>