2012-03-09 23 views
78

¿Cuál es la diferencia entre las transiciones CSS3 'ease-in, ease-out, etc.?Diferencia entre las transiciones CSS3 de entrada y salida

+1

Necesita buscar más. No puede haber una definición web para algo que es una tecnología web. Piénsalo. – BoltClock

+4

Si muestras un poco de investigación, las personas generalmente se saltan una sobre la otra para responder. –

+26

Tengo que decir que a pesar de los votos bajos, y la buena lógica detrás de ellos, me alegré de encontrar esta pregunta (y especialmente la respuesta de minitech, a continuación) ... ** porque ** al ir al origen del estándar, esto: http://www.w3schools.com/cssref/css3_pr_animation-timing-function.asp .. no estaba del todo claro para mí cuál es la diferencia entre 'facilidad' y 'facilidad de entrada'. Claro que podría haber encontrado una cantidad de artículos sobre estas cosas ... pero me dirijo a SO primero, porque me encanta cómo funciona SO ... y esta fue la primera Q/AI que me ayudó a aclarar 'facilidad' -vs.- 'facilidad de entrada'. Gracias a todos. – govinda

Respuesta

183

Las transiciones y animaciones de CSS3 admiten la aceleración, formalmente llamada "función de temporización". Los más comunes son ease-in, ease-out, ease-in-out, ease y linear, o puede especificar el suyo usando cubic-bezier().

  • ease-in comenzará la animación lentamente y finalizará a toda velocidad.
  • ease-out comenzará la animación a toda velocidad, luego termine lentamente.
  • ease-in-out comenzará lentamente, será más rápido en el medio de la animación, luego termine lentamente.
  • ease es como ease-in-out, excepto que comienza ligeramente más rápido de lo que termina.
  • linear no utiliza la suavización.
  • Finalmente, here's a great description de la sintaxis cubic-bezier, pero por lo general no es necesario a menos que desee algunos efectos muy precisos.

Básicamente, reducir la velocidad es detenerse lentamente, la aceleración es acelerar lentamente, y lineal no es hacer ninguna de las dos cosas. Puede encontrar recursos más detallados en el documentation for timing-function on MDN.

Y si desea los efectos precisos antes mencionados, la increíble Lea Verou cubic-bezier.com está a su disposición! También es útil para comparar las diferentes funciones de tiempo gráficamente.

Otro, the steps() timing function, actúa como linear, pero solo realiza un número finito de pasos entre el principio y el final de la transición. steps() me ha sido más útil en las animaciones de CSS3, en lugar de en las transiciones; un buen ejemplo es cargar indicadores con puntos. Tradicionalmente, uno usa una serie de imágenes estáticas (digamos ocho puntos, dos cambian de color en cada cuadro) para producir la ilusión de movimiento. Con una animación steps(8) y una transformación rotate, ¡estás usando el movimiento para producir la ilusión de marcos separados! Que divertido.

+0

descripción agradable. Resolvió mi consulta. – Pupil

Cuestiones relacionadas