<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: 30px;
width: 30px;
opacity: 0.7;
}
.wrapper:nth-of-type(4)>div {
animation-delay: 0.3s;
height: 20px;
width: 20px;
opacity: 0.5;
}
.wrapper:nth-of-type(5)>div {
animation-delay: 0.4s;
height: 10px;
width: 10px;
opacity: 0.3;
}
@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.