Files
Website/resources/js/components/SMLoadingIcon.vue
2023-02-27 14:52:01 +10:00

69 lines
1.4 KiB
Vue

<template>
<div class="sm-loading-icon-balls">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</template>
<style lang="scss">
.sm-loading-icon-balls {
display: inline-block;
position: relative;
width: 80px;
height: 80px;
div {
position: absolute;
top: 33px;
width: 13px;
height: 13px;
border-radius: 50%;
background: #000;
animation-timing-function: cubic-bezier(0, 1, 1, 0);
box-shadow: 0 0 1px rgba(0, 0, 0, 1);
}
div:nth-child(1) {
left: 8px;
animation: sm-loading-icon1 0.6s infinite;
}
div:nth-child(2) {
left: 8px;
animation: sm-loading-icon2 0.6s infinite;
}
div:nth-child(3) {
left: 32px;
animation: sm-loading-icon2 0.6s infinite;
}
div:nth-child(4) {
left: 56px;
animation: sm-loading-icon3 0.6s infinite;
}
@keyframes sm-loading-icon1 {
0% {
transform: scale(0);
}
100% {
transform: scale(1);
}
}
@keyframes sm-loading-icon3 {
0% {
transform: scale(1);
}
100% {
transform: scale(0);
}
}
@keyframes sm-loading-icon2 {
0% {
transform: translate(0, 0);
}
100% {
transform: translate(24px, 0);
}
}
}
</style>