1.4 KiB
1.4 KiB
title, tags
| title | tags |
|---|---|
| Bouncing loader | animation,intermediate |
Creates a bouncing loader animation.
- Use
@keyframesto define an animation with two states, where the element changesopacityand is translated up on the 2D plane usingtransform: translate3d(). Use a single axis translation ontransform: translate3d()to achieve better animation performance. - Create a parent container,
.bouncing-loader, for the bouncing circles and usedisplay: flexandjustify-content: centerto position them in the center. - Give the three bouncing circle
<div>elements awidthandheightof16pxand useborder-radius: 50%to make them circular. - Apply the
bouncing-loaderanimation to each of the three bouncing circles, using a differentanimation-delayfor each one andanimation-direction: alternateto create the appropriate effect.
<div class="bouncing-loader">
<div></div>
<div></div>
<div></div>
</div>
@keyframes bouncing-loader {
to {
opacity: 0.1;
transform: translate3d(0, -16px, 0);
}
}
.bouncing-loader {
display: flex;
justify-content: center;
}
.bouncing-loader > div {
width: 16px;
height: 16px;
margin: 3rem 0.2rem;
background: #8385aa;
border-radius: 50%;
animation: bouncing-loader 0.6s infinite alternate;
}
.bouncing-loader > div:nth-child(2) {
animation-delay: 0.2s;
}
.bouncing-loader > div:nth-child(3) {
animation-delay: 0.4s;
}