Stack
Spacing follows the markup, top to bottom.
Actual CSS
A semantic, no-build, progressively enhanced CSS framework for the interfaces people actually ship. No preprocessors, no build step, no classes cluttering your markup.
A handful of primitives that compose — the docs are built with the same ones.
Spacing follows the markup, top to bottom.
A row that wraps and centers itself.
Responsive columns without media queries.
The visual guide walks the spacing scale, every primitive, and the difference between density and size — seventeen figures.
Four ideas that shape every decision in the library.
Style native elements and web components. Your markup stays your markup — no presentation classes, no presentational divs.
One stylesheet, one script. Import it and go, or bundle it into your existing pipeline. There is nothing to compile.
Dialogs, flyouts, tooltips and tabs layer on only where supported. The markup is the baseline; everything else is enhancement.
Light, dark and 16 named themes, all driven by tokens. Bring your own theme with a few custom properties.
Variants belong on the component, not in your markup.
Same typography in every column — only the wrapper class changes.
Native dialog, command and tooltips first — enhanced only where supported.
Pages built with the framework, not screenshots of it. Every one opens from this checkout.
Seventeen figures on the spacing scale, the layout primitives, and density versus local size. Every bar is drawn from a live token.
Theming measured on two palettes, light and dark at once, as data-theme islands. The numbers are read off the rendered page.
Every component, variant, scope and interaction on one screen. The page to open when you want to break something.
A complete admin application: shell, tables, forms, dialogs, kanban, chat and feedback states.
All examples — page shapes, layout references, system benches, and two full sites.
Light, dark and 16 named themes. Each card below previews one — that is a data-theme island doing its job.
Every component is native markup with its own contract.
Actions and navigation with shared intents, variants, sizes, and loading, pressed, and disabled states.
Flexible content container with optional header, body, and footer regions, plus full-bleed children.
Compact label for counts, status, or category tags, with shared intents and variants.
Inline status messages for confirmations, warnings, and errors, with intents, icons, and action lists.
Centered modal overlay for focused tasks, confirmations, or forms, built on the native <dialog> element.
Modal side-sheet that overlays the page for navigation or filters.
Data table with caption and scope attributes, and an accessible scroll region for wide content.
Horizontal top-level navigation bar with a brand, an inline link list, and a vertical nav-list for drawers.
Collapsible regions built on native details and summary, with optional exclusive groups via the name attribute.
Trail of links showing the current page's location in a hierarchy.
Scalar measurement within a known range, not a progress indicator.
Navigation controls to move between pages of content.
npm install actual-css
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/actual-css/dist/actual.full.min.css">
<script src="https://cdn.jsdelivr.net/npm/actual-css/dist/actual.full.js" defer></script>