Modular Sass animation library that makes compsing complex animations simple.
OTHER License
Keyfram is a SCSS library which makes composing CSS keyframe-based animations simple.
A single @import
away; Keyfram lets you define animations in a simple SCSS map format and then modify and compose your animations together using a collection of self-explanatory mixins. Keyfram takes care of the laborious work of translating your animation into CSS keyframes, freeing you up to focus on your animation itself.
You can use Keyfram for creating anything from simple button hovers to intricately timed and sequenced animations spanning over multiple elements (once only thought feasible by using javascript). Install via NPM or get the single-file import to get started.
Live demos available at:
@import
(no dependencies)Grab the single-file release or install via NPM:
npm install --save kf-sass
Next, include in your SCSS file:
@import 'relative/path-to/kf.scss';
From here the most basic example would look like:
.sliding-box {
$animation-map: ('div': ( margin-left: ( 0ms: 0%, 300ms: 30%, 2000ms: 100% ) ));
@include kf($animation-map);
}
Learn more at the documentation site.
Available Mixins:
Mixin | Purpose |
---|---|
kf | Generate animation keyframes from an animation map. |
kf-chain | Run multiple animations in order sequentially |
kf-ease | Apply easing to an animation |
kf-lag | Add lag time at the end of an animation |
kf-lead | Add lead time before the start of an animation |
kf-loop | Loop an animation a given number of times |
kf-mirror | Run an animation sequentially forward and then in reverse |
kf-parallel | Run multiple animations in parallel |
kf-reverse | Run an animation in reverse |
kf-sleep | Add sleep (do nothing) time to an animation within a kf-chain |
kf-stagger | Run multiple animations sequentially staggering the start time of each |
kf-stretch | Stretch an animation's timing values over a given time or by a multiplier |
kf-debug | Visually debug an animation |