<!DOCTYPE html>
<
html
>
<
head
>
<
title
>
How to create a bouncing
bubble effect using CSS?
</
title
>
<
style
>
* {
margin: 0;
padding: 0;
}
/* To give the containers
in spherical shape */
.dot {
border-radius: 50%;
}
.dot span {
position: absolute;
display: block;
border: 5px;
border-radius: 50%;
animation: animate 3s ease-in-out infinite;
}
/*the animation*/
@keyframes animate {
0% {
transform: translateY(-300px);
}
50% {
transform: translateY(190px);
width: -100px;
height: +100px;
}
100% {
transform: translateY(-300px);
}
}
/* Each bubble is defined in a
separate section */
/* Set the color, opacity, delay and
duration(i.e different speed) */
.dot span:nth-child(1) {
top: 300px;
left: 250px;
height: 160px;
width: 160px;
background-color: yellow;
opacity: 0.7;
animation-delay: 0.3s;
animation-direction: reverse;
}
.dot span:nth-child(2) {
top: 310px;
left: 400px;
height: 190px;
width: 190px;
background-color: green;
opacity: 0.9;
animation-delay: 0.3s;
animation-direction: reverse;
animation-duration: 2.3s;
}
.dot span:nth-child(3) {
top: 300px;
left: 700px;
height: 140px;
width: 140px;
background-color: #a97f58;
opacity: 0.9;
animation-delay: 0.5s;
animation-direction: reverse;
animation-duration: 2.6s;
}
.dot span:nth-child(4) {
top: 300px;
left: 1080px;
height: 200px;
width: 200px;
background-color: #FA58AC;
opacity: 0.9;
animation-delay: 0.7s;
animation-direction: reverse;
animation-duration: 2.3s;
}
</
style
>
</
head
>
<
body
>
<
div
class
=
"dot"
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
</
div
>
</
body
>
</
html
>