Si encuentras algún detalle que no entiendes puedes comentarlo y te responderemos lo mas rápido que podamos.
El @keyframes
CSS at-rule controla los pasos intermedios en una secuencia de animación CSS definiendo estilos para fotogramas clave (o puntos de referencia) a lo largo de la secuencia de animación. Esto le da más control sobre los pasos intermedios de la secuencia de animación que las transiciones.
Sintaxis
@keyframes slideinfromtransform:translateX(0%);totransform:translateX(100%);
Valores
- Un nombre que identifica la lista de fotogramas clave. Debe coincidir con la producción del identificador en la sintaxis CSS.
from
- Un desplazamiento inicial de
0%
. to
- Un desplazamiento final de
100%
. - Un porcentaje del tiempo a lo largo de la secuencia de animación en el que debería ocurrir el fotograma clave especificado.
Descripción
JavaScript puede acceder al @keyframes
at-rule con la interfaz del modelo de objetos CSS CSSKeyframesRule
.
Para utilizar fotogramas clave, cree un @keyframes
regla con un nombre que luego es utilizado por el animation-name
propiedad para hacer coincidir una animación con su declaración de fotograma clave. Cada @keyframes
La regla contiene una lista de estilos de selectores de fotogramas clave, que especifican porcentajes a lo largo de la animación cuando se produce el fotograma clave, y un bloque que contiene los estilos para ese fotograma clave.
Puede enumerar los porcentajes de fotogramas clave en cualquier orden; se manejarán en el orden en que deberían ocurrir.
Listas de fotogramas clave válidas
Si una regla de fotogramas clave no especifica el estado inicial o final de la animación (es decir, 0%
/from
y 100%
/to
), los navegadores utilizarán los estilos existentes del elemento para los estados de inicio / fin. Esto se puede usar para animar un elemento desde su estado inicial y viceversa.
Las propiedades que no se pueden animar en las reglas de fotogramas clave se ignoran, pero las propiedades admitidas seguirán estando animadas.
Resolución de duplicados
Si existen varios conjuntos de fotogramas clave para un nombre dado, se utiliza el último encontrado por el analizador. @keyframes
las reglas no se distribuyen en cascada, por lo que las animaciones nunca derivan fotogramas clave de más de un conjunto de reglas.
Si se duplica un desplazamiento de tiempo de animación dado, todos los fotogramas clave en el @keyframes
La regla para ese porcentaje se utiliza para ese marco. Hay una cascada dentro de un @keyframes
regla si varios fotogramas clave especifican los mismos valores de porcentaje.
Cuando las propiedades quedan fuera de algunos fotogramas clave
Las propiedades que no se especifican en cada fotograma clave se interpolan si es posible; las propiedades que no se pueden interpolar se eliminan de la animación. Por ejemplo:
@keyframes identifier0%top: 0;left: 0;30%top: 50px;68%, 72%left: 50px;100%top: 100px;left: 100%;
Aquí el top
la propiedad anima usando el 0%
, 30%
, y 100%
fotogramas clave y left
anima usando el 0%
, 68%
, 72%
y 100%
fotogramas clave.
Cuando un fotograma clave se define varias veces
Si un fotograma clave se define varias veces, pero no todas las propiedades afectadas están en cada fotograma clave, se consideran todos los valores especificados en estos fotogramas clave. Por ejemplo:
@keyframes identifier0%top: 0;50%top: 30px;left: 20px;50%top: 10px;100%top: 0;
En este ejemplo, en el 50%
fotograma clave, los valores utilizados son top: 10px
y left: 20px
.
Los fotogramas clave en cascada son compatibles a partir de Firefox 14.
!important
en un fotograma clave
Declaraciones en un fotograma clave calificado con !important
son ignorados.
@keyframes important1frommargin-top: 50px;50%margin-top: 150px !important;/* ignored */tomargin-top: 100px;@keyframes important2frommargin-top: 50px;margin-bottom: 100px;tomargin-top: 150px !important;/* ignored */margin-bottom: 50px;
Sintaxis formal
@keyframeswhere
= | = + where
= # where
= from | to |
Ejemplos de
Ejemplos de animación CSS
Consulte Uso de animaciones CSS para ver ejemplos.
Especificaciones
Especificación | Estado | Comentario |
---|---|---|
Animaciones CSS Nivel 1 La definición de ‘@keyframes’ en esa especificación. |
Borrador de trabajo |
Compatibilidad del navegador
Escritorio | Móvil | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Cromo | Borde | Firefox | explorador de Internet | Ópera | Safari | WebView Android | Chrome Android | Firefox para Android | Opera Android | Safari en IOS | Internet de Samsung | |
@keyframes |
431 | 12 | 1649445 | 10 | 301512.1-1512-15 | 94 | 431 | 4318 | 1649445 | 301412.1-1412-14 | 94 | 4.01.0 |
ignore_important_declarations |
45 | 79 | 19 | No | 32 | 10.1 | 45 | 45 | 19 | 32 | 10,3 | 5,0 |
Ver también
- Usando animaciones CSS
AnimationEvent
Si tienes alguna incertidumbre y forma de mejorar nuestro ensayo te recomendamos realizar una acotación y con placer lo leeremos.