Malo.js v3.0 Beta
Zero CSS Dependencies • ~2KB Gzipped

Native Web Animations.
Zero CSS Dependencies.

A lightweight utility wrapper over the browser's native Web Animations API (WAAPI). Hardware-accelerated, promise-based, and built for fluid iOS-like transitions.

Live Preview Ready
Malo
// Click a button above to run an animation

Interactive Playground

Test core WAAPI features, staggering, dynamic controls, and promises in real time.

Status: Ready
1
2
3

Preset Showcase

Built-in presets optimized for compositor execution. Click any card to preview.

Quick Start

Include Malo.js directly in your web page via a CDN script tag. No build steps or bundlers required.

Basic Usage
// Animate element with preset
Malo.animate('.card', 'popIn', { duration: 400 });

// Custom keyframes array
Malo.animate('#box', {
  opacity: [0, 1],
  transform: ['translateY(20px)', 'translateY(0)']
}, { duration: 600 });

Options Reference

Malo forwards parameters directly into native WAAPI while adding modern stagger utilities.

Option Type Default Description
duration number 500 Animation length in ms.
delay number 0 Start delay in ms.
stagger number 0 Incremental delay added per target element.
easing string 'ease' Timing curve function.
iterations number 1 Repetitions (or Infinity).
onfinish function undefined Callback fired upon animation end.