finds.dev← search

// the find

felipefialho/css-components

★ 695 · CSS · MIT · updated Oct 2026

:coffee: A set of common UI Components using just the power of CSS and without JavaScript.

A showcase site (previously a CSS-only component library) that pairs six 2014-era UI hacks built with hidden checkboxes and radio inputs against their 2026 equivalents built with native HTML/CSS: <dialog>, <details>, the Popover API, anchor positioning, and scroll-driven animations. It's aimed at frontend developers who want to see what the platform can now do without JavaScript, not at anyone looking for a component library to install.

The then/now pairing is a genuinely useful teaching device — you see exactly what the checkbox hack was faking and what native feature replaced it, rather than just a changelog claim. It uses real, working demos of very new CSS (anchor-position, ::scroll-button(), appearance: base-select, command/commandfor) instead of just describing them. Each exhibit is a self-contained then.html/css and now.html/css pair, so copying a component out is trivial with no build step to untangle. Progressive enhancement is actually implemented via @supports, not just claimed.

No tests exercise the exhibit markup or accessibility behavior — CI only runs lint/typecheck/build, so a broken ARIA attribute or a regressed fallback would ship silently. Several 'Today' exhibits depend on features that are Chromium-only or behind flags (anchor positioning, scroll-driven animations, base-select), so despite the 'honest support' framing there's no visual proof the @supports fallback looks acceptable rather than just technically present. It's not a library anymore — there's no npm package, so adopting anything means hand-copying HTML/CSS out of Astro source files. Single maintainer, no contributing guide, and no sign of further exhibits being added beyond the initial relaunch set.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →