<div class="wrapper">
<div></div>
</div>
<div class="wrapper">
<div></div>
</div>
<div class="wrapper">
<div></div>
</div>
<div class="wrapper">
<div></div>
</div>
<div class="wrapper">
<div></div>
</div>
* {
box-sizing: border-box;
}
body {
background: linear-gradient(to top, #A18CD1 0%, #FBC2EB 100%);
width: 100vw;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
margin: 0;
padding: 0;
}
.wrapper {
position: absolute;
animation: x 1s ease-in-out alternate infinite 0s both;
}
.wrapper:nth-of-type(2) {
animation-delay: 0.1s;
}
.wrapper:nth-of-type(3) {
animation-delay: 0.2s
}
.wrapper:nth-of-type(4) {
animation-delay: 0.3s
}
.wrapper:nth-of-type(5) {
animation-delay: 0.4s
}
.wrapper > div {
width: 50px;
height: 50px;
background-color: #fff;
border-radius: 100%;
margin: 40px;
animation: y 1s linear infinite 0s both;
}
.wrapper:nth-of-type(2) > div {
animation-delay: 0.1s;
height: 40px;
width: 40px;
opacity: 0.8;
}
.wrapper:nth-of-type(3) > div {
animation-delay: 0.2s;
height: 40px;
width: 40px;
opacity: 0.6;
}
.wrapper:nth-of-type(4) > div {
animation-delay: 0.3s;
height: 40px;
width: 40px;
opacity: 0.4;
}
.wrapper:nth-of-type(5) > div {
animation-delay: 0.4s;
height: 40px;
width: 40px;
opacity: 0.2;
}
@keyframes x {
0% {
transform:translatex(-100px);
}
100% {
transform:translatex(100px);
}
}
@keyframes y {
25% {
transform:translatey(-50px);
}
0%,50%,100% {
transform:translatey(0);
}
75% {
transform:translatey(50px);
}
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.