Jetflow is a utility-first CSS framework that runs entirely in the browser. Drop in one script tag, write atomic classes in HTML, and ship. No build step. No config required.
<script src="cdn.jsdelivr.net/gh/JetflowJS/Jetflow@v0.1.0/jetflow.min.js"></script>
Jetflow watches your DOM and generates only the CSS you actually use — in real time, with no compilation step.
darkMode: "both"
and support class toggles and system preference simultaneously. No extra config needed.<!-- Via .apply class -->
<button class="btn-primary">
Get Started
</button>
<!-- Composed from utilities -->
<button class="flex-center gap-2 rounded-md
bg-brand-mid px-4 py-2 text-sm
text-bold text-white shadow-sm
transition hover:bg-brand-dark
focus:ring-2 focus:ring-brand-mid">
Save Changes
</button>
<!-- Notice banner -->
<div class="notice">
⚠ Session expires in 5 minutes.
</div>
<!-- flex-between (navbar) -->
<header class="flex-between px-6 py-4
border-b border-gray-200">
<span class="text-bold">Logo</span>
<nav class="flex-center gap-6">
<a>Docs</a> <a>Blog</a>
</nav>
</header>
<!-- Responsive grid -->
<div class="grid grid-cols-1
md:grid-cols-2
lg:grid-cols-3 gap-6">
<div class="card">Item</div>
</div>
<!-- grid-center -->
<div class="grid-center min-h-screen">
<p>Perfectly centered.</p>
</div>
<!-- .card apply class -->
<div class="card">
<h3 class="text-lg text-bold mb-2
dark:text-white">
Card Title
</h3>
<p class="text-sm text-muted">
Uses text-muted utility alias.
</p>
</div>
<!-- box utility -->
<div class="box">
Simple bordered block
</div>
<!-- box-dark variant -->
<div class="box-dark">
Dark surface variant
</div>
// jetflow.config.js
export default {
darkMode: "both",
reset: true,
theme: {
extend: {
colors: {
brand: {
light: "#d9efff",
mid: "#1479c9",
dark: "#0d4f83"
}
},
spacing: {
18: "4.5rem",
128: "32rem"
}
}
},
apply: {
".btn-primary": "flex-center gap-2
rounded-md bg-brand-mid px-4 py-2
text-sm text-bold text-white
transition hover:bg-brand-dark"
},
utilities: {
"flex-center": "flex items-center
justify-center"
}
};
mt-[42px] or bg-[#ff6b00] inline.
md:, lg:, etc.
hover:, focus:, active: all supported.
.html file served over any CDN.
Toggle utility classes on a live element and see Jetflow resolve them instantly. Switch to Responsive Preview to test breakpoint behavior.
A browser-native CSS framework. Write utility classes, ship instantly. No build step required.
Stop switching between HTML and a stylesheet. The answer is right there in the attribute.
/* styles.css */
.button {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 8px 16px;
background: #1479c9;
border-radius: 6px;
font-size: 14px;
font-weight: 700;
color: white;
transition: background 0.2s;
}
.button:hover { background: #0d4f83; }
.button:focus {
outline: none;
box-shadow: 0 0 0 2px #1479c9;
}
/* index.html */
<button class="button">...</button>
<!-- index.html -- that's it -->
<button class="btn-primary">
Get Started
</button>
<!-- or compose freely: -->
<button
class="flex-center gap-2 rounded-md
bg-brand-mid px-4 py-2
text-sm text-bold text-white
transition hover:bg-brand-dark
focus:ring-2 focus:ring-brand-mid"
>
Get Started
</button>