Agitar un botón al pasar el mouse usando HTML y CSS

El efecto de botón de agitación, también conocido como efecto de movimiento, se puede usar para hacer que el sitio web se vea más receptivo y dinámico. Este es uno de los mejores efectos para entender el concepto de regla @keyframes en CSS.

Enfoque: el efecto o la animación del botón de movimiento se puede crear usando HTML y CSS. Primero, crearemos un botón básico usando HTML y luego usaremos la regla @keyframes para especificar el código de animación. Las siguientes secciones lo guiarán sobre cómo crear el efecto.

Código HTML: en esta sección, crearemos un botón básico usando la etiqueta del botón .

<!DOCTYPE html>
<html lang="en" dir="ltr">
  
<head>
    <meta charset="utf-8">
    <title>Shake Button on Hover</title>
</head>
  
<body>
    <div>
        <button id="btn">Button</button>
    </div>
</body>
  
</html>

Código CSS: en esta sección, primero diseñaremos el botón usando las propiedades básicas de CSS, luego, para crear el efecto de movimiento o la animación, usaremos la regla @keyframes , usaremos las funciones translateX() y rotate() para reposicionar el botón El elemento en el eje x crea el efecto deseado cuando pasamos el mouse sobre él.

<style>
    body {
        margin: 0;
        padding: 0;
    }
  
    div {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
  
    #btn {
        text-align: center;
        height: 60px;
        width: 200px;
        display: block;
        font-size: 1.5em;
        background: #68E73C;
    }
  
    #btn:hover {
        animation: effect 0.4s infinite;
    }
  
    @keyframes effect {
        0% {
            transform: translateX(0px) rotate(0deg);
        }
  
        20% {
            transform: translateX(-4px) rotate(-4deg);
        }
  
        40% {
            transform: translateX(-2px) rotate(-2deg);
        }
  
        60% {
            transform: translateX(4px) rotate(4deg);
        }
  
        80% {
            transform: translateX(2px) rotate(2deg);
        }
  
        100% {
            transform: translateX(0px) rotate(0deg);
        }
    }
</style>

Código completo: es la combinación de las dos secciones de código anteriores.

<!DOCTYPE html>
<html lang="en" dir="ltr">
  
<head>
    <meta charset="utf-8">
    <title>Shake Button on Hover</title>
    <style>
        body {
            margin: 0;
            padding: 0;
        }
  
        div {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }
  
        #btn {
            text-align: center;
            height: 60px;
            width: 200px;
            display: block;
            font-size: 1.5em;
            background: #68E73C;
        }
  
        #btn:hover {
            animation: effect 0.4s infinite;
        }
  
        @keyframes effect {
            0% {
                transform: translateX(0px) rotate(0deg);
            }
  
            20% {
                transform: translateX(-4px) rotate(-4deg);
            }
  
            40% {
                transform: translateX(-2px) rotate(-2deg);
            }
  
            60% {
                transform: translateX(4px) rotate(4deg);
            }
  
            80% {
                transform: translateX(2px) rotate(2deg);
            }
  
            100% {
                transform: translateX(0px) rotate(0deg);
            }
        }
    </style>
</head>
  
<body>
    <div>
        <button id="btn">Button</button>
    </div>
</body>
  
</html>

Producción:

Publicación traducida automáticamente

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