¿Qué son las funciones de temporización (transition-timing-function) en las transiciones CSS?

Entiende las funciones de temporización (ease, linear, cubic-bezier()) en transiciones CSS, que controlan la aceleración y ritmo del cambio.

LucusHost, el mejor hosting

20% DESCUENTO ALOJAMIENTO WEB

Las funciones de temporización (transition-timing-function) en las transiciones CSS (y de forma similar, animation-timing-function para las animaciones) son las que definen cómo se calcula la velocidad de una transición a lo largo de su duración.

En lugar de que un cambio de estilo ocurra a una velocidad constante y lineal, estas funciones permiten controlar la curva de aceleración y deceleración, haciendo que el movimiento parezca más natural, dinámico o estilizado según el efecto que busques.

Piensa en ellas como la «personalidad» del movimiento de tu transición.

Existen varios valores predefinidos para transition-timing-function:

  • ease (valor por defecto): La transición comienza lentamente, luego se acelera en el medio y finalmente vuelve a ralentizarse antes de terminar. Proporciona una sensación suave y natural. Es equivalente a cubic-bezier(0.25, 0.1, 0.25, 1.0).
  • linear: La transición ocurre a una velocidad constante desde el principio hasta el final. Puede parecer un poco robótico para ciertos efectos.
  • ease-in: La transición comienza lentamente y luego acelera progresivamente hasta que alcanza su estado final.
  • ease-out: La transición comienza rápidamente y luego decelera progresivamente hasta detenerse en su estado final.
  • ease-in-out: La transición comienza lentamente, acelera en el medio y luego decelera lentamente hacia el final. Es similar a ease, pero con una aceleración y deceleración más pronunciadas en los extremos.
  • steps(n, jump-term): Esta función divide la transición en un número n de pasos discretos o «saltos». jump-term puede ser jump-start, jump-end, jump-none o jump-both, y define cuándo ocurre el cambio dentro de cada paso. Es útil para crear animaciones tipo sprite o efectos de movimiento por fotogramas.

Además de estos valores predefinidos, tienes un control mucho más granular con la función cubic-bezier(P1x, P1y, P2x, P2y). Esta te permite definir tu propia curva de temporización especificando las coordenadas (x, y) de dos puntos de control (P1 y P2) de una curva de Bézier cúbica. Esto ofrece una flexibilidad prácticamente ilimitada para crear efectos de aceleración personalizados y únicos.

Ejemplo de uso:

.mi-elemento {
  transition-property: transform;
  transition-duration: 0.5s;
  /* Aplicando una función de temporización predefinida */
  /* transition-timing-function: ease-out; */

  /* O definiendo una curva de Bézier personalizada para un efecto de "rebote" suave */
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.mi-elemento:hover {
  transform: translateX(50px);
}Lenguaje del código: PHP (php)
¿Tienes alguna duda o pregunta?Envía el formulario y procuraré darle respuesta
Formulario de pregunta
Responsable » Jose Ramón Bernabeu Guillem. Finalidad » Ponernos en contacto. Legitimación » Tu consentimiento al marcar la casilla verificación. Destinatarios » Los datos que proporciones estarán ubicados en los servidores de LucusHost, proveedor de hosting de este sitio. Derechos » por supuesto tendrás derecho, entre otros, a acceder, rectificar, limitar y suprimir tus datos.
Si creees que esto puede ser de utilidad a alguien más, pues... compártelo que es gratis 🙂
Sitio alojado en un servidor verde según The Green Web Foundation

20% DESCUENTO ALOJAMIENTO WEB

LucusHost, el mejor hosting

Aviso legal | Condiciones de contratación | Política de privacidad | Política de cookies
© 2017-2025 · Jose R. Bernabeu ·
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram