-
Definir la animación, cuanto queremos que dure y función de interpolación.
-
Los atributos que queramos cambiar deben ser numéricos directa o indirectamente. Es decir que podemos animar un cambio de color, un cambio de posición, un giro, un desplazamiento,… pero no valores absolutos como el centrado de un texto o un cambio de una imagen por otra.
-
Debemos tener valores definidos para la propiedad antes y después de la animación, si el navegador no sabe desde que valor parte no puede interpolar (aunque demos por supuesto que cogerá el valor por defecto de la propiedad, no lo hace).
#imagen{-moz-transform: rotate(0deg);-o-transform: rotate(0deg);-webkit-transform: rotate(0deg);transform:
rotate(0deg);}
#imagen:hover{-moz-transform: rotate(-90deg);-o-transform: rotate(-90deg);-webkit-transform: rotate(-90deg);transform:
rotate(-90deg);}
#imagen{
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
margin-left: auto;
margin-right: auto;
}#imagen:hover{
-moz-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
}
La sintaxis básica de una animación es:
#imagen2{-moz-transform: rotate(0deg);-o-transform: rotate(0deg);-webkit-transform: rotate(0deg);transform:
rotate(0deg);-o-transition: all 1s ease-in-out;-ms-transition: all 1s ease-in-out;-moz-transition: all 1s ease-in-out;-webkit-transition: all 1s ease-in-out;transition: all 1s ease-in-out;}
#imagen2:hover{-moz-transform: rotate(-90deg);-o-transform: rotate(-90deg);-webkit-transform: rotate(-90deg);transform:
rotate(-90deg);}
#imagen2{
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
-o-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-webkit-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;}
#imagen2:hover{
-moz-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
}
También podemos especificar diferentes animaciones cuando el puntero entra y sale de la imagen, para la animación de salida, especificamos como es en la pseudo-clase :hover. Vamos a poner una animación de mitad de duración y lineal.
#imagen3{-moz-transform: rotate(0deg);-o-transform: rotate(0deg);-webkit-transform: rotate(0deg);transform:
rotate(0deg);-o-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-webkit-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;}
#imagen3:hover{-moz-transform: rotate(-90deg);-o-transform: rotate(-90deg);-webkit-transform: rotate(-90deg);transform:
rotate(-90deg);-o-transition: all .5s linear; -ms-transition: all .5s linear; -moz-transition: all .5s linear; -webkit-transition: all .5s linear; transition: all .5s linear;}
#imagen3{
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
-o-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-webkit-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;}
#imagen3:hover{
-moz-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
-o-transition: all .5s linear;
-ms-transition: all .5s linear;
-moz-transition: all .5s linear;
-webkit-transition: all .5s linear;
transition: all .5s linear;}
Las animaciones están soportadas por firefox (5+), chrome (4+), safari (4+), Internet Explorer (10+), Android (4+ completo, aunque parcial anteriormente) y se espera que en Opera a partir de la versión 12. Lo bueno es que al ser solo decorativo, en navegadores antiguos, el cambio de la propiedad se hará igual, pero instantáneo, sin animación. Así que no tenemos que preocuparnos mucho por compatibilidad hacia atrás.
Deja tu comentario