Skip to content

SAPTARSHI-coder/EaseMotion-css

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⚑ EaseMotion CSS

Human-readable. Animation-first. Zero dependencies.

Designed and curated by Saptarshi Sadhu

License: MIT Contributions Welcome GitHub Stars Maintainer


EaseMotion CSS is a curated, animation-first CSS framework where class names read like plain English. No memorizing shorthand. No build steps. Just write HTML and it works.

<div class="ease-center ease-fade-in">
  <button class="ease-btn ease-btn-primary ease-hover-grow">Get Started</button>
</div>

πŸ‘€ Maintainer

EaseMotion CSS is designed, curated, and actively maintained by:

Saptarshi Sadhu Β· @SAPTARSHI-coder

This is a controlled framework β€” all contributions are reviewed and standardized before integration. The framework does not accept unreviewed direct edits. See Contribution Policy and CONTRIBUTING.md for details.


πŸš€ Quick Start

Option 1 β€” Single import (recommended)

<link rel="stylesheet" href="easemotion.css" />

Option 2 β€” Import only what you need

<!-- Core: always required, load in this order -->
<link rel="stylesheet" href="core/variables.css" />
<link rel="stylesheet" href="core/base.css" />
<link rel="stylesheet" href="core/animations.css" />
<link rel="stylesheet" href="core/utilities.css" />

<!-- Components: add only what you use -->
<link rel="stylesheet" href="components/buttons.css" />
<link rel="stylesheet" href="components/cards.css" />

⚠️ variables.css must always load first. Every other file depends on the CSS custom properties it defines.

No build step. No Node. No npm. Open your HTML file and it works.


🧠 Philosophy

EaseMotion CSS is not just a CSS library β€” it is a design language.

Most frameworks force a trade-off between readability and speed. EaseMotion CSS argues you should not have to choose.

Vanilla CSS Tailwind EaseMotion CSS
Setup Write from scratch Build step + config Link one file
Readability High Low (px-4 flex gap-x-2) High (ease-center)
Animations Manual Minimal First-class
Quality control You You Curated by maintainer

Write UI like you describe it in English:

<!-- Center this -->
<div class="ease-center">

<!-- Fade this in -->
<h1 class="ease-fade-in">

<!-- Make it grow on hover -->
<button class="ease-hover-grow">

No documentation lookup required. The class name is the documentation.

Four principles that never get broken:

Principle What it means
Human-readable Class names describe behavior in plain English
Animation-first Motion is a first-class feature, not an add-on
Composable Stack classes freely with no specificity wars
Curated Every class is maintainer-reviewed before release

βš™οΈ How EaseMotion CSS Works

EaseMotion CSS uses a structured pipeline from raw idea to released class:

1. Contributors submit raw HTML + CSS
         ↓
2. Maintainer reviews and evaluates fit
         ↓
3. Code is converted into EaseMotion CSS format
   (ease-* naming, CSS variables, comments)
         ↓
4. Integrated into core/ or components/
         ↓
5. Released and documented

Every class in the framework has passed through this process. The curation is what makes EaseMotion CSS consistent.


πŸ“¦ Usage Examples

Layout

<!-- Center β€” the most-used utility -->
<div class="ease-center">Centered</div>

<!-- Responsive auto-fit grid -->
<div class="ease-grid ease-grid-auto ease-gap-6">
  <div>Card 1</div><div>Card 2</div><div>Card 3</div>
</div>

<!-- Flex row: space between -->
<div class="ease-flex ease-justify-between ease-items-center ease-padding-4">
  <span>Left</span><span>Right</span>
</div>

Animations

<!-- Entrance (fires on load) -->
<h1 class="ease-fade-in">Hello</h1>
<p  class="ease-slide-up ease-delay-200">Subtitle</p>

<!-- Staggered sequence -->
<div class="ease-slide-up ease-delay-100">First</div>
<div class="ease-slide-up ease-delay-200">Second</div>
<div class="ease-slide-up ease-delay-300">Third</div>

<!-- Hover effects -->
<button class="ease-hover-grow">Grows on hover</button>
<div    class="ease-hover-glow">Glows on hover</div>
<div    class="ease-hover-shimmer">Shimmer sweep</div>
<div    class="ease-card-lift">Lifts on hover</div>

Buttons

<button class="ease-btn ease-btn-primary">Primary</button>
<button class="ease-btn ease-btn-success">Success</button>
<button class="ease-btn ease-btn-danger">Danger</button>
<button class="ease-btn ease-btn-outline">Outline</button>

<!-- With hover animation -->
<button class="ease-btn ease-btn-primary ease-btn-hover">Animated</button>

<!-- Sizes + pill -->
<button class="ease-btn ease-btn-primary ease-btn-sm">Small</button>
<button class="ease-btn ease-btn-primary ease-btn-lg ease-btn-pill">Large Pill</button>

Cards

<div class="ease-card ease-card-shadow ease-card-hover">
  <div class="ease-card-header">
    <h3 class="ease-card-title">Title</h3>
  </div>
  <div class="ease-card-body"><p>Content</p></div>
  <div class="ease-card-footer">
    <button class="ease-btn ease-btn-primary ease-btn-sm">Action</button>
  </div>
</div>

βš™οΈ Customization

Override any CSS variable to theme the entire framework in one block:

:root {
  --ease-color-primary: #f97316;   /* orange */
  --ease-speed-medium:  500ms;     /* slower */
  --ease-radius-md:     1rem;      /* rounder */
}

πŸ“‚ File Structure

easemotion-css/
β”œβ”€β”€ easemotion.css                    ← SINGLE IMPORT ENTRY POINT
β”‚
β”œβ”€β”€ core/                       ← MAINTAINER-ONLY
β”‚   β”œβ”€β”€ variables.css           ← design tokens
β”‚   β”œβ”€β”€ base.css                ← reset + typography
β”‚   β”œβ”€β”€ animations.css          ← animation library
β”‚   └── utilities.css           ← layout utilities
β”‚
β”œβ”€β”€ components/                 ← MAINTAINER-ONLY
β”‚   β”œβ”€β”€ buttons.css
β”‚   └── cards.css
β”‚
β”œβ”€β”€ submissions/                ← CONTRIBUTOR AREA
β”‚   β”œβ”€β”€ README.md               ← submission workflow
β”‚   └── examples/
β”‚       β”œβ”€β”€ hover-grow/         ← [INTEGRATED] β†’ ease-hover-grow
β”‚       β”œβ”€β”€ hover-shimmer/      ← [INTEGRATED] β†’ ease-hover-shimmer
β”‚       β”œβ”€β”€ card-lift/          ← [INTEGRATED] β†’ ease-card-lift
β”‚       └── button-glow/        ← pending review
β”‚
β”œβ”€β”€ examples/demo.html          ← live showcase
β”œβ”€β”€ docs/index.html             ← documentation site
β”‚
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ CODEOWNERS
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/feature_request.md
β”‚   └── PULL_REQUEST_TEMPLATE.md
β”‚
β”œβ”€β”€ VISION.md                   ← project direction
β”œβ”€β”€ CHANGELOG.md                ← release history
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ LICENSE                     ← MIT Β© 2026 Saptarshi Sadhu
└── README.md

🏷️ Issue Labels

Label Used for
good first issue Easy submissions, ideal for first contributions
animation Hover effects, entrance animations, keyframe ideas
component New UI components (tooltips, modals, badges, etc.)
enhancement Improvements to existing classes
documentation README, docs site, submission guide updates

⚠️ Contribution Policy

EaseMotion CSS is a curated, maintainer-reviewed framework. It is not an open-edit project.

What contributors do

βœ… Add a folder to submissions/examples/your-feature/
βœ… Include: demo.html, style.css, README.md
βœ… Use any class naming β€” no ease- prefix required
βœ… One feature per PR

What contributors do NOT do

❌ Edit core/           β†’ PR closed without review
❌ Edit components/     β†’ PR closed without review
❌ Merge their own PRs  β†’ Maintainer-only

How submissions become framework classes

Your raw CSS     β†’     Maintainer standardizes     β†’     ease-* class ships
.hover-grow           ease-hover-grow                    core/animations.css

🌟 Why contribute?

  • Beginner-friendly β€” write raw CSS, no conventions to memorize
  • Learn real system design β€” see how raw ideas become a coherent API
  • Your idea ships β€” accepted submissions become real framework classes, credited in the changelog
  • Build in public β€” your submission folder stays in the repo permanently as a contribution record

See submissions/README.md for the full workflow.


🌐 Official Maintainer

Saptarshi Sadhu
GitHub: @SAPTARSHI-coder

Only the maintainer merges pull requests. This is enforced via CODEOWNERS.


License

MIT Β© 2026 Saptarshi Sadhu β€” see LICENSE.


Built with care Β Β·Β  Zero dependencies Β Β·Β  Animation-first

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors