Por lo que yo entiendo, no hay tal cosa que podamos implementar usando transiciones css, pero no podemos implementar el uso de animaciones css, pero no viceversa.Casos de uso para transiciones CSS y animaciones CSS
Es decir, cualquier transición tiene un equivalente de animación css. Por ejemplo, éste
.ablock:hover {
position: relative;
-moz-transition-property: background-color, color;
-moz-transition-duration: 1s;
-webkit-transition-property: background-color, color;
-webkit-transition-duration: 1s;
color: red;
background-color:pink;
}
es un equivalente de lo siguiente:
.ablock:hover {
-moz-animation-duration:1s;
-moz-animation-name:transition;
-webkit-animation-duration:1s;
-webkit-animation-name:transition;
}
@-moz-keyframes transition {
to {
color: red;
background-color: pink;
}
}
@-webkit-keyframes transition {
to {
color: red;
background-color: pink;
}
}
Mi pregunta es - si un hablando de navegador que soporte ambas transiciones CSS y animaciones, ¿cuáles son los casos de uso para la elección de uno u otro enfoque? En cuanto a las transiciones, puedo nombrar solo una: tienen una sintaxis más sucinta, no tenemos que copiar pegar enormes portatarjetas de código para @ -moz-keyframes, @ -webkit-keyframes, etc.
En cuanto al control de javascript, las animaciones de flexibilidad y complejidad son una herramienta mucho más apropiada (al menos, a primera vista). Entonces, ¿qué son los casos de uso?
UPD: Bien, permítanme intentar enumerar la información de interés encontrada en las preguntas.
- Éste es contribuido por Roman Komarov. Diga, tenemos un div y div infantil. Mientras div principal está suspendido, estamos haciendo la transición del elemento secundario. Una vez que retiramos el mouse, la transición se cancela. La duración de esta cancelación es exactamente el tiempo que ya pasamos para la transición. La animación se cancela "inmediatamente". No sé, sin embargo, cuán estándar son esos dos comportamientos.
En cromo, estos ejemplos no son equivalentes: en el caso de su primer ejemplo, cambia a rosa al pasar el mouse y luego permanece allí (hasta que mueve el mouse), mientras que en el segundo cambia a rosa y luego vuelve a cambiar al predeterminado cuando está terminado: http://jsfiddle.net/nKw3X/1/. Además, ¿qué tan fácil es hacer funciones de temporización de transición, como "facilidad de entrada", en animaciones? http://www.the-art-of-web.com/css/timing-function/ –
Traté de encontrar la manera de hacer la transición de color cuando quitas el mouse de un elemento, pero no pude funciona: http://jsfiddle.net/nKw3X/2/. Tal vez eso no es posible? Entonces esa sería una gran diferencia, junto con la incapacidad de persistir en el valor de transición. –