The fluid Docs

Core System

EVA CSS is built around a 1440px design system, perfect for Figma workflows.
The scaling system adapts seamlessly to any viewport while maintaining design consistency.

          $screen: 1440;
          $sizes: 4, 8, 12, 20, 32, 52, 84, 136, 220, 356, 576, 712;
          $name-by-size: true; // Uses actual size values as variable names
        

Spacing & Sizing Scale

The spacing system uses a carefully crafted scale that works harmoniously across all viewport sizes. Each value is designed to create balanced proportions in your layouts.

Micro Spacing

4px, 8px, 12px

For fine adjustments and tight layouts

Component Spacing

20px, 32px, 52px

For component padding and margins

Section Spacing

84px, 136px, 220px

For section gaps and major spacing

Layout Spacing

356px, 576px, 712px

For container widths and large layouts

Responsive Modifiers

_ (underscore) - Stronger responsive scaling for mobile/tablet

- (dash) - Minimal responsive scaling

px/rem - Traditional unit suffixes for clarity

Variable Naming

$name-by-size: false
Sequential naming:
--1, --2, --3, --4, --5, --6...
$name-by-size: true (default)
Design-based naming:
--4, --8, --12, --20, --32, --52...

Design-based naming makes it easy to match your Figma specifications directly!

SCSS Configuration Options

Core Configuration Variables

These variables control the fundamental behavior of EVA CSS framework.

_eva.scss - Main framework configuration

$px-rem-suffix

Development mode toggle

$px-rem-suffix: true;  // Development
$px-rem-suffix: false; // Production

Enables additional classes and debugging features

$build-class

CSS class generation

$build-class: true;  // Generate utility classes
$build-class: false; // CSS variables only

Controls whether utility classes are generated

$custom-class

Selective class generation

$custom-class: true;  // Filtered classes
$custom-class: false; // All classes

Enables granular control over which classes are generated

$name-by-size

Variable naming convention

$name-by-size: true;  // --20, --32, --52
$name-by-size: false; // --1, --2, --3

Uses actual pixel values vs sequential numbers

Design System Configuration

Customize the spacing and typography scale to match your design system.

_grid.scss - Grid and spacing system

$screen

Base screen width for calculations

$screen: 1440; // Default Figma width

Used for percentage calculations in clamp() functions

$sizes

Spacing scale values

$sizes: 4, 8, 12, 20, 32, 34, 52, 
       84, 136, 220, 356, 576, 712;

Pixel values from your design system

$font-sizes

Typography scale values

$font-sizes: 12, 16, 18, 24, 
           36, 52, 72;

Font sizes from your design system

Advanced Configuration

Fine-tune the responsive behavior and class generation.

_components.scss - Component generation

$properties

CSS properties to generate

$properties: (
  w: width,
  h: height,
  p: padding,
  px: padding-inline,
  py: padding-block,
  br: border-radius,
  g: gap
);
$class-config

Granular class filtering

$class-config: (
  w: (50),        // Only width:50
  h: (),          // No height classes
  px: (24),       // Only padding-inline:24
  g: ()           // No gap classes
);

Control which sizes are generated for each property

$font-class-config

Typography class filtering

$font-class-config: (
  fs: (14, 16, 18, 24, 32)
);

Control which font sizes generate classes

Mathematical Constants

Advanced mathematical values that control the responsive scaling behavior.

_eva.scss - Mathematical functions

$Φ (Ratio)
$Φ: 1.61803398875;

Used for proportional scaling calculations

$min & $max
$min: 0.5rem;
$max: 1rem;

Minimum and maximum scaling limits

$ez (Extreme scaling)
$ez: 142.4; // Spacing
$ez: varies; // Typography

Controls extreme responsive behavior (different for spacing vs typography)

Specialized Documentation

Detailed documentation for specific aspects of EVA CSS framework:

Typography System

Responsive typography, font scaling, and text hierarchy

→ Read Typography Docs

Sizing System

Spacing scale, responsive modifiers, and layout dimensions

→ Read Sizing Docs

Color System

OKLCH colors, opacity modifiers, and theme configuration

→ Read Color Docs

Gradient System

Emmet-style gradients, animations, and dynamic control

→ Read Gradient Docs

Ready to try ?

Quick Setup Guide

Get EVA CSS up and running in minutes with this simple setup process.

Step 1: Clone the Repository
git clone https://github.com/nkdeus/eva.git
cd eva

Clone the EVA CSS repository to your local machine

View on GitHub

Step 2: Install Dependencies
npm install

Install all required Node.js dependencies

Step 3: Launch Local Server
# Use your IDE's local server
# VS Code: Live Server extension
# Or any other local development server

Start your local development server to serve the HTML files

Step 4: Watch SCSS Files
npm run watch

Compile and watch SCSS files for changes

Step 5: Configure Your Project
# Rename try.scss to your project name
# Configure spacing and typography values
# Customize colors and themes

Customize the framework to match your design system

Project Structure

Understanding the key files and directories in your EVA CSS project.

styles/ - Main CSS and framework

projects/ - Individual project files

scripts/ - Build and utility scripts

assets/ - Images and resources

styles/

Main CSS files and framework

  • main.scss - Main entry point
  • main.css - Compiled CSS
  • framework/ - SCSS framework files
styles/framework/

Core SCSS files and configuration

projects/

Your project-specific SCSS files

projects/{name}/render/

Compiled CSS output

  • {project}.css - Compiled CSS
  • {project}.css.map - Source maps

Configuration Tips

Essential configuration steps to get the most out of EVA CSS.

1. Create your project
# Copy projects/try/ to projects/your-project/
# Rename try.scss to your-project.scss
# Configure your project settings

Create your own project folder based on the example

2. Configure Spacing Values
$sizes: 4, 8, 12, 20, 32, 52, 
       84, 136, 220, 356, 576, 712;

Match your Figma design system spacing

Based on 1440px Figma design (configurable)

3. Set Typography Scale
$font-sizes: 12, 16, 18, 24, 
           36, 52, 72;

Define your font size hierarchy

Development Workflow

Best practices for working with EVA CSS in your development process.

Development Mode
$px-rem-suffix: true;  // Enable all features
$build-class: true; // Generate utility classes

Use during development for full feature access

Production Mode
$px-rem-suffix: false; // Disable debug features
$custom-class: true; // Filter classes

Optimize for production with filtered output

CSS Variables Only
$build-class: false; // No utility classes
$name-by-size: true; // Design-based naming

Generate only CSS variables for custom CSS

Welcome to the Future!

A Word of Warning

Warning: Once you enter the world of fluid CSS, traditional responsive design and breakpoints will feel like something from the past!

Say goodbye to media queries and hello to truly adaptive layouts that scale naturally across every screen.