es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo modificar los valores :hover después de que se haya producido una animación y cambiado el tamaño de fuente de un h1?

¿Cómo puedo modificar :hover después de que una animación ha ocurrido y ha cambiado el tamaño de fuente de un h1?
Esto es lo que sucede:
texto: font-size: 12.5rem; letter-spacing: 0;
al pasar el cursor sobre el texto – font-size: 13.5rem letter-spacing: 1rem; , después de unos segundos, una animación con @keyframes ocurre y cambia el tamaño de fuente, de 12.5rem a 5rem. con el nuevo cambio aplicado (font-size: 5rem) quiero pasar el cursor sobre él nuevamente pero esta vez los valores de :hover deben cambiar, el tamaño al pasar el cursor debe ser de 5rem (los nuevos valores después de la animación) a 6rem, y la distancia entre letras, de 1rem; a 0.2rem.
No sé cómo hacerlo… por favor, ayúdame con un poco de código.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para modificar el selector :hover después de que se haya producido una animación y se haya cambiado el tamaño de fuente de un h1, puedes usar el evento animationend en JavaScript para agregar una clase al elemento una vez que la animación esté completa. Luego, puedes apuntar a esa clase en tu CSS para realizar los cambios en el selector :hover. Aquí tienes un ejemplo de fragmento de código:

    HTML:

    <h1 id="my-heading">¡Hola, Mundo!</h1>
    

    CSS:

    #my-heading {
      font-size: 12.5rem;
      letter-spacing: 0;
    }
    
    #my-heading:hover {
      font-size: 13.5rem;
      letter-spacing: 1rem;
    }
    
    #my-heading.animate {
      animation: font-size-animation 2s;
    }
    
    #my-heading.animate:hover {
      font-size: 6rem;
      letter-spacing: 0.2rem;
    }
    
    @keyframes font-size-animation {
      0% {
        font-size: 12.5rem;
      }
      100% {
        font-size: 5rem;
      }
    }
    

    JavaScript:

    const myHeading = document.getElementById('my-heading');
    
    myHeading.addEventListener('animationend', () => {
      myHeading.classList.add('animate');
    });
    

    En este ejemplo, el evento animationend se utiliza para agregar la clase ‘animate’ al elemento h1 una vez que la animación de cambio de tamaño de fuente esté completa. Luego, en el CSS, apuntamos a la clase ‘animate’ para modificar el selector :hover con los nuevos valores de tamaño de fuente y espacio entre letras.

Comments are closed.