SDS Motion Forge

Text animation · .sds-reveal-up-mask

Reveal Up Mask

Wipes up behind a mask. Add the class .sds-reveal-up-mask to any element — it plays once as soon as the class is applied, with no JavaScript.

Live demo

Reveal Up Mask

Demo uses this site's neutral theme; override --sds-primary to match your brand.

Quick start

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@salkomdesignstudio/sds-motion-forge/dist/categories/text.min.css" />

<h1 class="sds-reveal-up-mask">Reveal Up Mask</h1>

Loads only the text bundle (core is included).Prefer one file? Use https://cdn.jsdelivr.net/npm/@salkomdesignstudio/sds-motion-forge/dist/motion.min.css (all 604 effects).

How it works

Plays once, as soon as the class is applied. It animates a clip-path mask, opacity and movement and scale (transform) — compositor-only, so it never causes page reflow. `--sds-duration` controls the speed and `--sds-easing` controls the feel — override either on the element or :root (the sds-fast/sds-slow modifier classes do exactly that).

Technical details

Class.sds-reveal-up-mask
CategoryText
Runsplays once, as soon as the class is applied
Animated propertiesclip-path, opacity, transform
Compositor-onlyYes — transform/opacity only, no layout reflow
Needs child elementsNo
Needs per-character spansNo
JavaScriptNone required
Keyframessds-revealUp
Design tokens--sds-duration, --sds-easing
Since4.0.3

Copy-paste code

HTML
<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@salkomdesignstudio/sds-motion-forge/dist/motion.min.css" />
  </head>
  <body>
    <h1 class="sds-reveal-up-mask">Reveal Up Mask</h1>
  </body>
</html>
React / Next.js
import "@salkomdesignstudio/sds-motion-forge/dist/motion.min.css";

export default function Demo() {
  return (
    <h1 className="sds-reveal-up-mask">Reveal Up Mask</h1>
  );
}
Angular
// angular.json → architect.build.options.styles:
//   "node_modules/@salkomdesignstudio/sds-motion-forge/dist/motion.min.css"
import { Component } from '@angular/core';

@Component({
  selector: 'app-demo',
  standalone: true,
  template: `
    <h1 class="sds-reveal-up-mask">Reveal Up Mask</h1>
  `,
})
export class DemoComponent {}
Tailwind CSS
/* app.css — Tailwind v4 */
@import "tailwindcss";
@import "@salkomdesignstudio/sds-motion-forge/dist/motion.min.css";

/* then use the class like any other: */
<h1 class="sds-reveal-up-mask">Reveal Up Mask</h1>

Typed React, Angular, Tailwind and Web Components wrappers live in packages/ in the repository and are not yet published to npm; the snippets above need only the CSS.

Related animations

All 104 text animations · Installation & usage docs · Custom bundle builder