QuicklyCSS v2 · Docs
Animation
Versión v2.0 alpha.2
MÓDULO•UTILIDADES

Utilidades · Movimiento

Animation (secuencias reutilizables)

Aplica entradas in, salidas out, indicadores de estado y movimientos continuos con controles independientes para duración, retraso, repetición y ejecución.

v2.0

Once secuencias

Cuatro entradas, cuatro salidas y tres estados continuos cubren los patrones de interfaz más frecuentes.

Control por capas

Duración, retraso, iteración, relleno y estado se combinan sin duplicar keyframes.

Movimiento accesible

Detecta la opción “Reducir movimiento” del dispositivo y minimiza automáticamente las animaciones.

Animación y transición no son lo mismo

Usa Animation para una secuencia con keyframes. Si solo necesitas suavizar el cambio entre dos estados, utiliza transition.css.

¿El movimiento depende del viewport?

Consulta Run / Run Back. Esa página reúne la activación por scroll, la API original y sus familias de efectos sin repetirlas aquí.

Ver Run / Run Back

Nomenclatura

In muestra; Out retira

Cada familia tiene una entrada y una salida predecibles. in termina con el elemento visible en su posición natural; out comienza allí y termina ocultándolo.

INEstado inicial → estado visible

El elemento aparece y termina listo para participar visualmente en la interfaz.

OUTEstado visible → estado final oculto

El elemento desaparece y conserva el último fotograma mediante fill-mode: both.

OPACIDAD

Fade

.animate-fade-in.animate-fade-out

Aparece o desaparece sin modificar la posición.

DIRECCIÓN ↑

Slide up

.animate-slide-in-up.animate-slide-out-up

Up indica el movimiento: entra desde abajo o sale hacia arriba.

DIRECCIÓN ↓

Slide down

.animate-slide-in-down.animate-slide-out-down

Down indica el movimiento: entra desde arriba o sale hacia abajo.

ESCALA

Scale

.animate-scale-in.animate-scale-out

Aparece creciendo o desaparece reduciendo su tamaño.

Compatibilidad

.animate-slide-up y .animate-slide-down continúan funcionando como alias, pero el código nuevo debe usar .animate-slide-in-up y .animate-slide-in-down.

Código + resultado

Compara entradas, salidas y estados

Cambia de pestaña para ejecutar otra secuencia. El HTML mostrado es exactamente el que produce el resultado aplicado.

HTML
Resultado aplicadoEntrada · una vez
Secuencia activa
QAnimationResultado aplicado

Ajustes

Controla la ejecución sin crear otra animación

Los modificadores actualizan variables --qy-animation-* que consume la clase principal. Pasa el mouse sobre las tarjetas inferiores para comparar los estados.

Duración

.anim-duration-200200ms
.anim-duration-500500ms
.anim-duration-10001000ms
.anim-duration-20002000ms

Retraso

0ms
.anim-delay-0
150ms
.anim-delay-150
300ms
.anim-delay-300
500ms
.anim-delay-500
ITERACIONES

Una vez o continua

Once
Infinite
.anim-once.anim-infinite

La primera termina una vez; la segunda continúa mientras mantienes el mouse sobre la tarjeta.

RELLENO

Estado final

None
Forwards
.anim-fill-none.anim-fill-forwards

none recupera el estado inicial; forwards conserva el último fotograma.

EJECUCIÓN

Pausa y reanuda

Paused
Running
.anim-paused.anim-running

Una muestra queda detenida y la otra se ejecuta al pasar el mouse.

RESET

Sin animación

Active
None
.animate-none

La segunda muestra permanece inmóvil porque elimina completamente la animación.

Composición

Una clase principal y los controles necesarios

No necesitas repetir propiedades ni crear un keyframe nuevo para cambiar tiempo o repetición.

01Elige el movimiento.animate-slide-in-up
02Ajusta la duración.anim-duration-1000
03Añade retraso.anim-delay-150
HTML resultante
<article class="animate-slide-in-up anim-duration-1000 anim-delay-150">
  Contenido que entra desde abajo
</article>
Resultado aplicadoEntrada · 1000ms
Retraso · 150ms
Contenido que entra desde abajoMovimiento + duración + retraso

La clase principal define los keyframes; los modificadores cambian únicamente las variables de ejecución.

Referencia

Clases disponibles

La tabla coincide con las utilidades reales incluidas en animation.css.

FamiliaClasesResponsabilidadValor inicial
Entradas.animate-fade-in, .animate-slide-in-up, .animate-slide-in-down, .animate-scale-inMuestra el elemento mediante opacidad, desplazamiento o escala.Una ejecución.
Salidas.animate-fade-out, .animate-slide-out-up, .animate-slide-out-down, .animate-scale-outRetira el elemento y conserva el estado final.Una ejecución.
Estado continuo.animate-pulse, .animate-spin, .animate-bounceComunica espera, proceso o actividad.Infinita.
Alias compatibles.animate-slide-up, .animate-slide-downMantiene código anterior; para código nuevo utiliza las clases explícitas slide-in.500ms.
Duración.anim-duration-{200|500|1000|2000}Cambia --qy-animation-duration.Definida por la animación.
Retraso.anim-delay-{0|150|300|500}Cambia --qy-animation-delay.0ms
Iteraciones.anim-once, .anim-infiniteUna ejecución o repetición continua.Según la animación.
Relleno.anim-fill-none, .anim-fill-forwardsConserva o descarta el último fotograma.both o none.
Estado.anim-paused, .anim-runningPausa o reanuda.running
Reset.animate-noneElimina la animación completa.none

Recomendaciones

Buenas prácticas de movimiento

01

Comunica una causa

Anima para explicar entrada, espera o continuidad; evita movimiento puramente decorativo.

02

Una animación principal

No combines dos clases .animate-*: ambas escribirían la propiedad animation.

03

Limita los infinitos

Reserva pulse, spin y bounce para indicadores que realmente continúan activos.

04

Respeta la preferencia del sistema

Si el usuario activa “Reducir movimiento” en su dispositivo, QuicklyCSS minimiza automáticamente las animaciones.