2012-03-09 6 views
78

Qual è la differenza tra le transizioni CSS3 'ease-in, ease-out, ecc.?Differenza tra la facilità di ingresso e l'uscita delle transizioni CSS3

+1

È necessario cercare più difficile. Non ci può essere alcuna definizione Web per qualcosa che è una tecnologia Web. Pensaci. – BoltClock

+4

Se mostri un po 'di ricerca, le persone di solito saltano l'una sull'altra per rispondere. –

+26

Devo dire che nonostante i downvotes, e la buona logica dietro di loro, sono stato felice di trovare questa domanda (e in particolare la risposta di Minitech, di seguito) ... ** perché ** quando si va alla fonte dello standard, questo: http://www.w3schools.com/cssref/css3_pr_animation-timing-function.asp .. non mi era affatto chiaro quale sia la differenza tra "facilità" e "facilità in entrata". Certo, avrei potuto trovare un numero qualsiasi di articoli su queste cose .. ma prima mi rivolgo a SO, perché amo il modo in cui SO funziona .. e questo è stato il primo Q/AI trovato per aiutarmi a chiarire "facilità" -vs.- 'facilità in-out'. Grazie a tutti. – govinda

risposta

183

Le transizioni e le animazioni di CSS3 supportano l'alleggerimento, formalmente chiamato "funzione di temporizzazione". I comuni sono ease-in, ease-out, ease-in-out, ease e linear, oppure è possibile specificare il proprio utilizzando cubic-bezier().

  • ease-in avvia l'animazione lentamente e termina a piena velocità.
  • ease-out avvia l'animazione a tutta velocità, quindi termina lentamente.
  • ease-in-out inizierà lentamente, sarà il più veloce al centro dell'animazione, quindi terminerà lentamente.
  • ease è come ease-in-out, eccetto che inizia leggermente più veloce di quanto non duri.
  • linear non utilizza alcun andamento.
  • Infine, here's a great description della sintassi cubic-bezier, ma di solito non è necessario a meno che non si desideri ottenere effetti molto precisi.

Fondamentalmente, l'attenuazione è rallentare fino a fermarsi, l'allentamento è quello di accelerare lentamente, e lineare non è quello di fare né l'uno né l'altro. Puoi trovare risorse più dettagliate allo documentation for timing-function on MDN.

E se vuoi i precisi effetti precisi, lo straordinario Lea Verou cubic-bezier.com è lì per te! È anche utile per confrontare graficamente le diverse funzioni di temporizzazione.

Un altro, the steps() timing function, si comporta come linear, ma esegue solo un numero finito di passaggi tra l'inizio della transizione e la sua fine. steps() mi è stato molto utile nelle animazioni CSS3, piuttosto che nelle transizioni; un buon esempio è nel caricare indicatori con punti. Tradizionalmente, si usa una serie di immagini statiche (diciamo otto punti, due cambiando colore per ogni fotogramma) per produrre l'illusione del movimento. Con un'animazione steps(8) e una trasformazione rotate, stai usando il movimento per produrre l'illusione di fotogrammi separati! Che divertimento

+0

Bella descrizione. Risolto il mio problema. – Pupil