<h3> <span style="color:#006400">rnbw 🌈 is a design system in one stylesheet.</span> <span style="color:#0000cd">it makes your html designable.</span> <span style="color:#800080">when the code changes,</span> <span style="color:#ee82ee">the design changes.</span> <span style="color:#ff4500">when the design changes,</span> <span style="color:#ffa500">the code changes.</span> <span style="color:#ffd700">and, that's it!</span> </h3>
html, css and js are not just code, or what we see in the browser. they're design tools. designing with them, we're not on a flat canvas, we're crafting within the web's natural structure. and it's a whole different thing!
with rnbw, you design inside the web's own framework: the native elements, the box, the flow. working within its limits is embracing the essence of dynamic layouts, where the web performs best.
"The first web browser was also an editor. The idea being that not only could everyone read content on the web, but they could also help create it."
Sir Tim Berners-Lee
simple enough for anyone, complex enough for anything, and open enough to use anyhow. rnbw is focusing on atomic concepts. when combined, they multiply their meaning.
a class is a design decision written as code. put a few together and you have a page: no components to learn, no framework between you and the web.
row, column, gap, padding: boxes that line up.
one face, one weight, a scale from text-s to h1.
surfaces, ink and two accents, light and dark.
a line and a corner, from radius-xs to full.
code is a thing rnbw knows how to show.
gap-ltext-xl<h1>fade, slide, zoom, spin and pulse, at three speeds.
that's right, rnbw is one stylesheet. link it, and every html element, headings, paragraphs, lists, quotes, forms, code, is styled as it is.
no install, no build step, no framework. one line for the styles, one for the icons. rnbw is built for the #nobuild era.
<link rel="stylesheet" href="https://rnbw.design/rnbw.css"> <script defer src="https://rnbw.design/icons.js"></script>
rnbw's classes say what they do: text-xl, gap-l, inverse-primary. an ai reads them as easily as you do, and writes them as easily too.
the designer names it, the developer writes it, ai reads it. one word, the whole circle: describe a thing, and the classes that draw it are the design.
"a dark card, a big title, a quiet line under it."
<div class="inverse-primary radius-m
padding-l column gap-s">
<h3>full circle</h3>
<p class="opacity-m">design and code,
one material.</p>
</div>
design and code, one material.
12x12 icons designed for clean, minimal, and info-rich interfaces. by the rainbow team.
one script inlines the sprite, and <svg><use href="#plus"/></svg> draws the icon, in the colour of the words around it.
embrace git and async collaboration. every design decision in rnbw is a commit you can read: what changed, who changed it, and why, in plain words.
a link in a sentence is underlined, a link that is the whole thing is not. that's a design rule, and it's a line of css. reviewing one is reviewing the other.
rnbw is open source under the mit license. read every line of src/, and build rnbw.css and icons.svg with one node script and no dependencies.
make it yours with tokens and themes: change the base size, the font unit or a colour, and the whole system follows.
:root {
--base-size: 4px;
--font-primary: "under", "HelveticaNeue-light", "Helvetica Neue Light",
"Helvetica Neue", Helvetica, "inter", Arial, "Lucida Grande", sans-serif;