Bernardo Martín
UI Developer | CSS & Animation Developer | Frontend Developer
Permite tener animaciones usando estilos CSS
Indica el nombre que le daremos a nuestra animación. Este nombre lo usaremos en el @keyframes , donde definiremos las transiciones, transformaciones de nuestra animación
Indica el tiempo que tardará la animación el terminar un ciclo completo.
Indicaremos el tiempo en segundos (s), sin espacios entre la cantidad y el signo de segundos(s).
Especifica como una animación CSS debería progresar sobre la duración de cada ciclo respecto.
En las herramientas para desarrolador de Chrome, podemos definir una tabla Bezier específica, cómo?
Si hemos definido en un elemento la característica animation y hemos especificado un animation-timing-function nos saldrá en las características usadas un icono como este haciendo click sobre él, tendremos una tabla Bezer para poder definir una propia.
Un enlace con ejemplos de valores y gráficas de Bezier lo podemos encontrar en este enlace:
Un enlace donde podemos crear nuestros propios cubic-beizer:
Es el tiempo que queremos que tarde en comenzar nuestra animación una vez cargada nuestra página.
Se expresa en tiempo en segundos(s) o milisegundos(ms).
Indica la dirección que toma nuestra animación.
Indica la cantidad de veces que quieres que se ejecute tu animación.
Especifica un estilo para el elemento cuando la animación no está jugando (cuando esté terminado, o cuando se tiene un retraso).
Indica si la animación está en ejecución o pausada.
Es el lugar donde definiremos la animación que se va a crear.
@keyframes mymove {
from {left: 0px;}
to {left: 200px;}
}
Es el lugar donde definiremos la animación que se va a crear.
@keyframes mymove {
10% {left: 0px;}
20%{left: 20px;}
50%{left:100px;}
100%{left:200px;}
}
Definiremos la animación indicando dos características el keyframes y las características que influyen en la actividad de la animación.
element.animate(keyframes, 3000);
element.animate(keyframes, options);
El keyframes será un array de objetos, donde cada objeto definirá cada acción que realizará nuestra animación.
var keyframes = [
{ transform: 'translateY(-1000px) scaleY(2.5) scaleX(.2)', transformOrigin: '50% 0', filter: 'blur(40px)', opacity: 0 },
{ transform: 'translateY(0) scaleY(1) scaleX(1)', transformOrigin: '50% 50%', filter: 'blur(0)', opacity: 1 }
];
0% { transform: translateY(-1000px) scaleY(2.5) scaleX(.2); transform-origin: 50% 0; filter: blur(40px); opacity: 0; }
100% { transform: translateY(0) scaleY(1) scaleX(1); transform-origin: 50% 50%; filter: blur(0); opacity: 1; }
CSS
Enlace para ampliar conocimientos:
En la segunda característica de animate podemos definir solo el tiempo que tarda nuestra animación a realizarse o podemos darle todas las características que engloba nuestra animación.
var options = {
iterations: Infinity,
iterationStart: 0,
delay: 0,
endDelay: 0,
direction: 'alternate',
duration: 700,
fill: 'forwards',
easing: 'ease-out', }
https://bermartinv.github.io/css/files/taller/menu_taller.html
By Bernardo Martín
UI Developer | CSS & Animation Developer | Frontend Developer