48 lines
691 B
Vue
48 lines
691 B
Vue
<template>
|
|
<view class="wave">
|
|
<view class="dot"></view>
|
|
<view class="dot"></view>
|
|
<view class="dot"></view>
|
|
</view>
|
|
</template>
|
|
|
|
<script></script>
|
|
|
|
<style lang="scss" scoped>
|
|
.wave {
|
|
position: relative;
|
|
text-align: center;
|
|
width: 30px;
|
|
|
|
.dot {
|
|
display: inline-block;
|
|
width: 3px;
|
|
height: 3px;
|
|
border-radius: 50%;
|
|
margin-right: 3px;
|
|
background: #333333;
|
|
animation: wave 1.3s linear infinite;
|
|
|
|
&:nth-child(2) {
|
|
animation-delay: -1.1s;
|
|
}
|
|
|
|
&:nth-child(3) {
|
|
animation-delay: -0.9s;
|
|
}
|
|
}
|
|
}
|
|
|
|
@keyframes wave {
|
|
0%,
|
|
60%,
|
|
100% {
|
|
transform: initial;
|
|
}
|
|
|
|
30% {
|
|
transform: translateY(-5px);
|
|
}
|
|
}
|
|
</style>
|