¿Cómo crear un efecto de burbuja que rebota usando CSS?

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.

  1. Cree algunos contenedores usando el elemento span de la siguiente manera:

    <div class="dot">
        <span></span>
        <span></span>
        <span></span>
        <span></span>
    </div>
  2. Para que los contenedores se vean esféricos, el radio del borde debe cambiarse como: border-radius :50%;
  3. 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;
  4. La posición debe configurarse en absoluto y las burbujas se pueden configurar en cualquier posición en consecuencia.
  5. 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).
  6. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *