Skip to content

Layer recipes ​

A recipe describes how a layer enters. Built-in recipes are listed below; add your own with the recipes option (guide).

Text recipes (data-in) ​

RecipeHeadings (split)Other elements (block)
fadeFadeFade
riseWords rise from a maskRise 46 px and fade in
dropWords drop inDrop and fade in
slide-left, slide-rightWords slide in from the sideSlide in
maskWords revealed from a maskWipe up (clip)
lines-upLines rise from a mask, one after anotherClip reveal
staggerWords with a staggerRise with stagger
blurFocus pullFocus pull
zoomScale up from 0.6Scale in
flip3D flip per word3D flip
skewSkewed slideSkewed slide
words-blurEach word comes into focusBlur in
chars-upLetters rise from a maskRise
chars-blurLetters come into focusBlur in
chars-flipLetters flip in 3DFlip
chars-waveLetters in a waveRise
chars-scaleLetters pop inScale in
trackingLetters converge from wide spacingFade
typewriterLetters appear one by oneStep in
glitch-textLetters scatter in with skewSkew in
floatWords rise, then float gently (loop) and lift on hoverRise

A heading (h1–h4) or any element with data-split uses the split version; other elements animate as one block.

Exits (data-out) ​

reverse (default: the entrance backwards, 55 % of its duration), fade, up, down, left, blur, none.

Image recipes (imageIn) ​

Applied to the background of the entering slide: develop (black and white to color), focus (blur to sharp), spotlight (dark, rotated zoom to normal), rise, tint (sepia to color), flicker, depth-zoom (slow zoom held for the whole slide), breathe (gentle zoom loop).

Frame format ​

json
{
  "split": "words",
  "mask": true,
  "stagger": 38,
  "order": "start",
  "in":    [{ "y": "105%" }, { "y": 0, "d": 1000, "e": "expo.out" }],
  "loop":  [{ "y": 0 }, { "y": "-8%", "d": 1800, "e": "sine.inOut" }],
  "hover": [{ "y": 0 }, { "y": "-10%", "d": 260, "e": "power2.out" }],
  "out":   [{ "o": 1 }, { "o": 0, "d": 400, "e": "power2.in" }]
}
FieldTypeDescription
splitnone | words | chars | linesHow text is split.
maskbooleanClip each word to its box (reveal from a mask).
staggermsDelay between pieces.
orderstart | center | randomStagger order.
spreadXemExtra spacing per letter from the center (tracking effects).
scatter[x, y] emRandom start offset per piece.
inFrame[]Entrance: first frame = start state, last = neutral.
loopFrame[]Played back and forth after the entrance.
hoverFrame[]Played while the pointer is over the slide.
outFrame[]Exit.

Frame fields ​

FieldMeaningUnit
oopacity0–1
x, y, ztranslatepx number, or "%" / "em" string
s, sx, syscalenumber
r, rx, ryrotatedeg
skx, skyskewdeg
blurblurpx
gray, sepiagrayscale, sepia0–1
contrast, bright, satcontrast, brightness, saturation1 = normal
huehue rotationdeg
clipinset()[top, right, bottom, left] in %
dduration from the previous framems
eeasename below

Any number can be { "base": 30, "phone": 12 } to use a different value under 600 px.

Eases ​

linear, steps, sine.out, sine.inOut, power1.out, power2.in, power2.out, power2.inOut, power3.in, power3.out, power4.out, expo.out, expo.inOut, circ.out, back.out.

Insigne Slider v1.0.0 · Free for any use with visible attribution · Atıf ile her kullanım için ücretsiz