Classless CSS: Attributes as a Component API
When I talk about classless CSS, I am not talking about a stylesheet that blindly targets every HTML element, and I am not proposing a religious ban on the class attribute.
This page was opened from file://. Chromium blocks the local CSS and JS for this site in that mode.
Preview it over HTTP with pnpm dev or pnpm preview.
Author
44 articles
Articles by Emiliano "pixu1980" Pisu
When I talk about classless CSS, I am not talking about a stylesheet that blindly targets every HTML element, and I am not proposing a religious ban on the class attribute.
The moment a color palette enters a design system, it stops being a collection of colors that look good together. It becomes a scale, and a scale needs a rule.
Before anyone gets creative with their parsing: the subject of this analysis and the author are two entirely separate entities.
Your server is slow because you are fighting a runtime you never learned
The markup you skip is the code you rewrite
The war that never should have happened
The platform moved. Tailwind didn't get the memo.
The industry ran a forty-four-meter circle and landed in your living room
The mistake most people make
We live in an era where technology permeates every aspect of our daily lives. However, not everyone can benefit equally from these advancements. This is where Accessibility by Desi
The claim
The question I keep getting
The three numbers that matter
The misconception
The claim
The feature, and the three traps
Context - The chaos of unorganized CSS
The case against most service workers
The two tools, in one paragraph
The feature and its trap
The stack I did not want
The headline numbers
The constraint (no backend, no excuses)
The reflex that shaped software
Accessibility is not one feature (it's ALL of them)
The contract stays plain (because HTML should be readable)
The unpopular opinion (brace yourself)
The short version (for the impatient)
The term I am reclaiming (because "vibe coding" got a bad rap)
The gap GitHub Pages leaves open (it's not that bad)
Why the gate exists (because you will ship shit if you don't)
The short version (TL;DR for the impatient)
The problem and the usual solutions (none of which I wanted)
The distribution minimum (three files, that's it)
The goal (four non-negotiable constraints)
The mistake I kept making (repeat after me: tokens first)
The contract (read this part)
Three ways to slice the same posts (because one axis is never enough)
Three constraints that shaped the grammar (because constraints are good, actually)
The pipeline, in one picture (because I know you're skimming)
The default answer and why I ignored it
The honest framing
The useful distinction
What the stack is, exactly (TL;DR: files + Node + blood)