Curso de Animaciones para la Web

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

Transiciones: Una transición sucede cuando existe un cambio en una o mas propiedades de una clase en css.

  • Transition-Duration: indica el tiempo que dura la transición de una propiedad.
  • Transition-Propiety: indica la propiedad de la clase que sufrirá el cambio en la transición.
  • Transition-delay: indica cuanto se tardara en iniciar la transición.
  • Transition-timing-function: indica la velocidad de la transición, las cuales son:
    Linear: Sin acelaracion.
    Ease: con aceleración.
    Steps(): la aceleración será por fps.

Nota: los tiempos en las transiciones(duración y delay) se define en segundos y milisegundos.

/*duracion de la transicion en segundos*/
    transition-duration:.3s ;

    /*retraso de la transicion*/
    transition-delay: .3s;

    /*propiedad que se modifica*/
    background-color: black;
    transition-property:background-color; 

    /*aceleracion de la transicion*/
    transition-timing-function: ease-in-out;

Animaciones
Para crear animaciones en css se utiliza la propiedad animation y las sub-propiedades.

Animation-name: indica el nombre de la animación.

Animation-direction: indica donde comenzara la animación si en el inicio o el final de la misma.

Animation-play-states: Permite pausar o reanudar la animación cuando se hace hover.

Animation-iteration-count: indica las veces que se repetirá la animación.

Animation-fill-mode: indica el valor que tendrá el elemento al finalizar la animación. Estas pueden ser:

  • Forwards: el objeto se queda con los estilos finales de la que se aplicaron en la animación.

  • Backwards: El objeto se queda con los estilos que tenía al principio de la animación.

Animation-timing-funtion:indica la aceleración de la animación. Las aceleración se pueden modificas con la curva de brazier y los steps:

  • Curva de brazier: nos permite generar nuestra propia curva de movimiento a partir de 4 parametros entre 0 y 1.

  • Steps: funcionan con los números de frames por segundo.

.Elemento{
    /*nombre de la animacion*/
    animation-name: animacion;

    /*direccion de la animacion*/
    animation-direction:normal;

    /*estado final del elemento*/
    animation-fill-mode: forwards;

    /*repeticiones de la animacion*/
    animation-iteration-count: infinite;

    /*aceleracion de la animacion con curva de brezier*/
    animation-timing-function: cubic-bezier(1, 0, 0, 1);
}

@keyframes animacion{
    0%{
        transform: translate(0px);
    }
    100%{
        transform: translate(130px);
    }

}

Animaciones en Js
Para crear animaciones en js se utiliza el metodo animate

Sintaxis: Elemento.animate(keyframes=[array], options={objetos});


  const $pelota=document.getElementById('pelota');
        const $play=document.getElementById('play');
        const $stop=document.getElementById('stop');
        const $reverse=document.getElementById('reverse');
        
        const animacion= $pelota.animate([{
            //keyframes
            transform:'translateX(0)'},
            {transform:'translateX(600px) rotate(500deg) translateZ(200px)'}],
            
            //options
            {
            duration:2000,
            direction:'alternate',
            iterations:Infinity,
            easing:'linear',
            fill:'forwards',
            delay:1000,
        })
        $stop.addEventListener('click',(event)=>{
            animacion.pause();
        })
        $play.addEventListener('click',(event)=>{
            animacion.play();
        })
        $reverse.addEventListener('click',(event)=>{
            animacion.reverse();
        })

Curso de Animaciones para la Web

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

0 Comentarios

para escribir tu comentario

Artículos relacionados