¿Cómo animar una línea recta en movimiento lineal usando CSS?

El movimiento lineal de una línea recta significa que la línea comenzará en un punto, irá al segundo punto y luego regresará al punto de partida. Es una especie de movimiento de ida y vuelta. Lo haremos usando solo CSS.

Enfoque: el enfoque es crear primero una línea recta y luego animarla usando fotogramas clave. Se hará en dos pasos. Primero para el movimiento de avance y segundo para el movimiento de retroceso. El siguiente código seguirá el mismo enfoque.

HTML: en HTML, hemos creado un elemento div que se usa para hacer una línea recta.

<!DOCTYPE html>
<html lang="en">
  
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content=
        "width=device-width, initial-scale=1.0" />
    <title>GeeksforGeeks</title>
</head>
  
<body>
    <div class="geeks"></div>
</body>
  
</html>

CSS:

  • Cree una línea recta proporcionando la altura y el ancho mínimos de su preferencia.
  • Anime esta línea recta usando el selector anterior y proporcione una animación lineal con un identificador de fotogramas clave llamado animate .
  • La animación de fotogramas clave es muy sencilla. Para los primeros medios fotogramas, haga que el ancho sea del 100 % (movimiento hacia adelante) y luego redúzcalo al 0 % (movimiento hacia atrás) para los siguientes medios fotogramas.
<style>
    body {
        margin: 0;
        padding: 0;
        background: green;
    }
  
    .geeks {
        width: 400px;
        height: 2px;
        background: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
  
    .geeks::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: green;
        animation: animate 5s linear infinite;
    }
  
    @keyframes animate {
        0% {
            left: 0;
        }
  
        50% {
            left: 100%;
        }
  
        0% {
            left: 0;
        }
    }
</style>

Código completo: en esta sección, combinaremos código HTML y CSS para crear un efecto de animación de línea recta.

<!DOCTYPE html>
<html lang="en">
  
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content=
        "width=device-width, initial-scale=1.0" />
          
    <title>
        How to animate a straight
        line in linear motion?
    </title>
  
    <style>
        body {
            margin: 0;
            padding: 0;
            background: green;
        }
  
        .geeks {
            width: 400px;
            height: 2px;
            background: #fff;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }
  
        .geeks::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: green;
            animation: animate 5s linear infinite;
        }
  
        @keyframes animate {
            0% {
                left: 0;
            }
  
            50% {
                left: 100%;
            }
  
            0% {
                left: 0;
            }
        }
    </style>
</head>
  
<body>
    <div class="geeks"></div>
</body>
  
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por sirohimukul1999 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 *