Recapitulando, una timing function es la representación de la progresión en función del tiempo de cada ciclo de una animación. Representa la aceleración del elemento desde un punto A hasta un punto B.
linear: El elemento se mueve a una aceleración constante.
ease: Es el valor predeterminado si no se especifica. El elemento acelera inicialmente, pero presenta mucha desaceleración.
ease-in: El elemento empieza lento pero termina rápido.
ease-out: El elemento empieza rápido pero termina lento.
ease-in-out: Es la combinación de ease-in y ease-out. El elemento empieza lento, a medida que avanza va acelerándose, pero termina lento.
cubic-bezier: Se necesitan cuatro números, que representan dos puntos de control para formar la curva de aceleración deseada.
Propiedades opcionales para una transición
transition-timing-function: propiedad que establece una timing function para especificar una forma de aceleración de la transición.
transition-delay: propiedad que establece un intervalo de tiempo desde la acción que desencadena la animación hasta su inicio.
Hola Ángel!
Muy buen ejercicio en especial para la propiedad backface-visibility en su respectiva clase si hubiéramos visto primero el tema de transiciones creo que hubiera quedado más claro.
Un saludo y gracias por compartir 👌
Yo hice la representacion de unos bits moviendose de un punto A a un ounto B. La velocidad en la que se mueven es la latencia de la velocidad del internet
.
.
El primero es 1 segundo
El segundo es 0.8 segundos
El tercero es 1.2 segundos
El ultimo son 3 segundos
Seis en inglés es "six" no "sex"
Hola, este es mi aporte sobre esta clase. Hay ciertos eventos que ocurren a lo largo de nuestras transiciones que podemos usar a nuestro favor con JavaScript y son los siguientes:
++transitionend :++
Este evento sucede cuanto una transición ha terminado. Hay que tener en cuenta que si una transición se elimina antes de completarse, este evento no se genera.
Otro caso importante, es que tampoco se va activar si no tenemos ++transition-delay++ o ++transition-duration++ o cuando sus valores son de 0s (cero segundos).
++transitionstart:++
Este evento sucede cuando la transición ha comenzado después del tiempo que se determino en ++transition-delay.++
++transitionrun:++
Este evento sucede cuando se crea por primera vez una transición y antes de que comience cualquier ++transition-delay++
1. NOTA:
La diferencia entre ++transitionrun++ y ++transitionstart++ es que la primera ocurre antes del tiempo determinado en ++transition-delay++ y la segunda ocurre cuando la animación ha comenzado, o sea, después del ++transition-delay++
++transitioncancel:++
Y este evento sucede cuando se cancela una transición. esto puede suceder cuando no dejamos que ocurra ++transition-delay++ y ++transition-duration++
2. NOTA:++transition-delay++ es el tiempo en que demora en comenzar nuestro transición.
Se pueden poner valores negativos en las aceleraciones, los contenedores primero se moverán hacia atrás como tomando impulso, es muy divertido.
Inténtenlo...
cubic-bezier(1,-0.71,1,-0.71)
Social media badges 👉 demo
circle s3x 😳, hubo un lapsus xd
talvez para algunos no le haya quedado claro todo lo relacionado a perspectivas y ejes así que les dejo este recurso de codepen que les ayudara a entender mejor todo lo relacionado a perspectiva ya que un objeto al rotar en algunos de los 3 ejes tiene resultados que les podría ayudar a hacer pequeños juegos de perspectiva muy curiosos para algunos proyectos espero les ayude como a mi
Se ve lenta la animación por el gif, no sé cómo mejorar la calidad de un gif 😩
¿se puede realizar en otro elemento diferente a la pseudo-clase hover?
Hola!
Qué es lo que quieres aplicar? En realidad cualquier animación puede aplicarse en cualquier elemento.
Hola Erica!
Espero te encuentres muy bien!
Claro, el trigger o el lanzador puede ser alguna otra pseudo-clase. El hecho de que se use hover en todos los ejemplos es meramente educativo ya que nos es más fácil entenderlo.
Otra pseudo-clase que suelo usar es :active con esta cada vez que el usuario hace clic sobre un botón le disminuyo .1 en su escala lo que da un efecto de clic precisamente.
Me gusto en la clase div class="circle sex" /div
¿Cuál es la difrencia entre el tiempo del transition y el trasition-delay
¡Hola, @matheariiaz! 🤓🍍🍍
trasition-delay es el tiempo que tardará en iniciar una transición.
transition-timing-function: define como va a variar la velocidad del elemento durante el tiempo que dure la transición. Por ejemplo, puede iniciar iniciar lento (como si le costara arrancar) y terminar con un empuje brusco (como si pisara el acelerador en el último momento).
si pones un transition-delay: 3s; al hacer hover espera primero esos tres segundos, luego si hace el transition, y el tiempo que pones en el transition: tranform 2s ease; esos 2s es el tiempo que dura desde que el elemento de desplaza de un lado al otro.
.sex o .six
🍿Transition timing function y delay
❤transition-timing-function
Establece cómo se calculan los valores intermedios para las propiedades de CSS que se ven afectadas por un efecto de transición. Básicamente es como nosotros afectamos la aceleración de una transición.
Documentación
🧡transition-delay
Es el tiempo de espera, antes de que comience una animación
Documentación
Como funciona la función cubic-bezier?
De manera general, lo que el cubic-bezier representa son puntos.
cubic-bezier(x1,y1,x2,y2)
.
Los parámetros son los ejes x (horizontal) & y (vertical) de 2 puntos.
.
Aunque en realidad, el cubic.bezier tiene 4 puntos, solo que el primer y el ultimo puntos ya están fijados por defecto y nosotros no tenemos oportunidad de cambiarlos. El primer punto es (0,0) y el ultimo es (1,1).
.
Nosotros tenemos la oportunidad de editar o darle valor a 2 puntos o mas para crear la forma que queramos