Up and running in 60 seconds

Start building
right now.

No build tools. No npm install (unless you want to). No configuration. Paste one line of HTML and you're done.

Installation

Choose your method

Three ways to get njX into your project โ€” pick whatever fits your workflow.

๐Ÿ”—
CDN Link
Paste one <link> tag. Works in any HTML file instantly.
Recommended
๐Ÿ“ฆ
npm Install
For Node.js projects, Vite, Webpack, or any bundler.
For bundlers
๐Ÿ“
Download ZIP
Self-host all CSS files. Full control, works offline.
Self-hosted
index.html
<!-- 1. Add to <head> --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/njx-ui/css/style.min.css"> <!-- 2. Set a theme on <html> --> <html data-theme="dark"> <!-- 3. Use any component --> <button class="btn btn-primary">Hello njX</button> <div class="card-glow"> <h2 class="text-gradient-primary">Built in 30 seconds</h2> </div>
๐Ÿ’ก
That's it. No npm, no build, no config. Delivered via jsDelivr โ€” 100+ edge locations globally, free, and highly reliable.
Live preview

Built in 30 seconds

A real component from njX CSS

CSS only No build 9 themes
terminal
# Install via npm npm install njx-ui # Or with yarn yarn add njx-ui # Or with pnpm pnpm add njx-ui
Import in your project
// In your JS/TS entry file import 'njx-ui/css/style.min.css'; // Or in your main CSS @import 'njx-ui/css/style.min.css'; // Then set theme on <html> <html data-theme="dark">
โšก
Bundler-friendly. Works with Vite, Webpack, Rollup, Next.js, Nuxt, Astro. No PostCSS plugins or extra config needed โ€” it's just CSS.
Package info
Packagenjx-ui
Version1.0.0
Size (min+gzip)~8 KB
LicenseMIT
Dependencies 0

Download the full njx-css/ folder and host it yourself. No CDN dependency, works completely offline and behind firewalls.

Download njx-css.zip
After extracting
<!-- Reference the local file --> <link rel="stylesheet" href="./njx-css/style.min.css"> <!-- Or import only what you need --> <link rel="stylesheet" href="./njx-css/_base.css"> <link rel="stylesheet" href="./njx-css/_buttons.css"> <link rel="stylesheet" href="./njx-css/_cards.css">
๐Ÿ—‚
Granular control. The archive contains 24 individual CSS files โ€” import only the parts you need to minimize file size even further.
Archive contents
njx-css/
 โ”œโ”€โ”€ style.min.css โ† full bundle
 โ”œโ”€โ”€ _base.css
 โ”œโ”€โ”€ _reset.css
 โ”œโ”€โ”€ _tokens.css
 โ”œโ”€โ”€ _themes.css
 โ”œโ”€โ”€ _buttons.css
 โ”œโ”€โ”€ _cards.css
 โ”œโ”€โ”€ _forms.css
 โ”œโ”€โ”€ _tags.css
 โ”œโ”€โ”€ _modals.css
 โ”œโ”€โ”€ _tables.css
 โ”œโ”€โ”€ _animations.css
 โ”œโ”€โ”€ _gradients.css
 โ”œโ”€โ”€ _hovers.css
 โ””โ”€โ”€ ... 10 more files
Your first page

From zero to styled
in 3 steps

1
Connect the stylesheet
One <link> tag inside <head>. No JavaScript, no build step, nothing else required.
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/njx-ui/css/style.min.css">
2
Pick a theme
Set data-theme on the <html> element. Every component adapts automatically โ€” no extra CSS needed.
<html lang="en" data-theme="dark"> <!-- dark ยท light ยท red ยท blue ยท green ยท cyan ยท yellow ยท pink ยท purple -->
3
Use component classes
Add classes like btn btn-primary or card. That's the whole API โ€” just class names on HTML elements.
<button class="btn btn-primary">Click me</button> <div class="card">A styled card</div> <span class="tag tag-primary">Badge</span>
Complete boilerplate
index.html
<!DOCTYPE html> <html lang="en" data-theme="dark"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/njx-ui/css/style.min.css"> <title>My App</title> </head> <body> <button class="btn btn-primary"> Get Started </button> <div class="card-glow"> <h2 class="text-gradient-primary"> Hello njX </h2> <p class="text-muted"> Built in 30 seconds. </p> </div> </body> </html>
Theme system

9 themes, one attribute

Click any theme below โ€” every component on this page updates instantly. Save preference with: localStorage.setItem('theme', 'purple')

Dark
Light
Red
Blue
Green
Cyan
Yellow
Pink
Purple
Theme switching with JS
// Switch theme at any time function setTheme(name) { document.documentElement .setAttribute('data-theme', name); localStorage.setItem('theme', name); } // Restore on page load const saved = localStorage.getItem('theme'); if (saved) setTheme(saved); // Usage setTheme('purple'); // entire UI turns purple setTheme('dark'); // back to dark
Common patterns

Copy-paste snippets

The most commonly used patterns โ€” ready to drop into your project.

Buttons
<button class="btn btn-primary">Primary</button>
<button class="btn btn-secondary">Secondary</button>
<button class="btn btn-outline">Outline</button>
<button class="btn btn-ghost">Ghost</button>
<button class="btn btn-gradient">Gradient</button>
<button class="btn btn-sm btn-primary">Small</button>
<button class="btn btn-lg btn-primary">Large</button>
Cards
<div class="card">Basic card</div>
<div class="card-glow">Glow on hover</div>
<div class="card-gradient">Gradient border</div>
<div class="card-glass">Glass morphism</div>
<div class="card-dark">Dark variant</div>
Tags & Badges
<span class="tag">Default</span>
<span class="tag tag-primary">Primary</span>
<span class="tag tag-success">Success</span>
<span class="tag tag-danger">Danger</span>
<span class="tag tag-accent">Accent</span>
<!-- Outline variant -->
<span class="tag tag-primary tag-outline">Outline</span>
Text gradients
<h1 class="text-gradient-primary">
  Primary gradient
</h1>
<h2 class="text-gradient-accent">
  Accent gradient
</h2>
<span class="text-gradient-rainbow">
  Rainbow
</span>
<span class="text-gradient-gold">Gold</span>
Animations
<!-- Loop animations -->
<div class="animate-float">Float</div>
<div class="animate-pulse">Pulse</div>
<div class="animate-glow">Glow</div>
<!-- Hover effects -->
<div class="hover-lift">Lifts on hover</div>
<div class="hover-glow">Glows on hover</div>
<!-- Text effects -->
<span class="animate-neon">Neon glow</span>
Layout grid
<!-- 12-column flex grid -->
<div class="row">
  <div class="col-6">Half</div>
  <div class="col-6">Half</div>
</div>
<!-- CSS Grid -->
<div class="grid-col-3">
  <div>A</div>
  <div>B</div>
  <div>C</div>
</div>
CSS Variables โ€” Customize
/* Override any token in your CSS */
:root {
  /* Change primary color globally */
  --color-primary: #ff6b35;
  /* Adjust base spacing unit */
  --space-base: 5px;
  /* Change border-radius across all components */
  --radius-md: 6px;
}
Bulma compatibility
<!-- Bulma classes work out of the box -->
<button class="button is-primary">
  Primary
</button>
<button class="button is-primary is-rounded">
  Rounded
</button>
<button class="button is-loading">
  Loading
</button>
Utility classes
<!-- Tailwind-compatible spacing -->
<div class="p-4 mt-2 mb-4">...</div>
<!-- Flexbox helpers -->
<div class="flex items-center gap-4">...</div>
<!-- Typography -->
<p class="text-sm text-muted">Muted text</p>
<h1 class="text-2xl font-bold">Heading</h1>
<!-- Background gradients -->
<div class="bg-gradient-primary">...</div>
What's next

Keep building

You're set up. Here's where to go from here.

๐Ÿงฉ
All Components
Browse every component with live previews and copy-ready code. 25+ components, fully documented.
Browse components โ†’
๐Ÿ“–
Full Documentation
Themes, design tokens, CSS variables, customization, and the complete API reference.
Read the docs โ†’
๐ŸŽจ
Why njX?
See how njX compares to Bootstrap, Bulma, Pico CSS, and chota. What makes it different.
View showcase โ†’
๐Ÿ“‹
Changelog
Track updates, new components, bug fixes, and all version history.
See changelog โ†’
Open Source

Like njX? Star it on GitHub โญ

Free, open-source, MIT licensed. A GitHub star helps others discover the project and keeps development going.

Star on GitHub