Una forma sencilla de hacer que un sitio web sea más dinámico y atractivo es agregarle algunas animaciones . Una de estas animaciones es el efecto de burbuja que rebota .
Enfoque: La idea básica es crear una sección usando el elemento <lspan>, darle una forma redonda y luego usando la propiedad de animación CSS translateY, la burbuja se puede mover hacia arriba y hacia abajo a lo largo del eje Y. Se pueden seguir los siguientes pasos para obtener el resultado deseado.
- Cree algunos contenedores usando el elemento span de la siguiente manera:
<
div
class
=
"dot"
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
</
div
>
- Para que los contenedores se vean esféricos, el radio del borde debe cambiarse como: border-radius :50%;
- Para dar a las esferas un efecto de burbuja, la opacidad y el color de fondo se pueden cambiar como: background-color :#DF0101; opacidad: 0,8;
- La posición debe configurarse en absoluto y las burbujas se pueden configurar en cualquier posición en consecuencia.
- Para que el efecto sea más realista, se puede cambiar la dimensión a medida que la burbuja llega a la superficie (es decir, aumentar el ancho y disminuir la altura).
- Para hacer que las burbujas se muevan de forma desordenada, el retraso de la animación se puede variar para diferentes burbujas y también se puede variar el tamaño.
Ejemplo: Este ejemplo implementa el enfoque anterior.
<!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>
Producción:
Esta es solo una animación simple, las cosas más atractivas se pueden crear modificando o agregando más efectos de animación.
Publicación traducida automáticamente
Artículo escrito por srutichatterjee2024 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA