Stephen Margheim

@fractaledmind.bsky.social

CSS Anchor Positioning is now baseline. Firefox 147 ships today with full support. Chrome, Edge, Safari — all on board. Position elements relative to other elements. No JavaScript. Here's the 60-second rundown...

Building HTML UI forced me to figure out how to write CSS classes that integrate deeply with Tailwind v4. I want 3 things: intellisense, tree shaking, and easy utility overrides. Here’s I make it all work 🧵

As soon as I saw the Bloom component from Josh Puckett, I knew I had to build it with plain HTML and CSS. This one was tricky, I won't lie, but a lot of fun. May just add this as an affordance to HTML UI, we shall see.

Same olʼ <dialog>, completely new CSS. HTML UI will have dialog sheets inspired by Silk React components. No JS, no swipe gestures, but still gorgeous sheets with elegant animations. Just a <dialog class="ui-sheet"> away ✨

I just solved the problem of having button's shadow stack include an offset outline that "magically" adapts to any surface color that the button is on 🤯 ``` @​utility bg-* { & .ui-button { --button-surface-color: --value(--color-*, [color]); } } ``` Explanation in 🧵

Agents excel in a cohesive system—one that is internally consistent, free minimal external dependencies, and token efficient. Using declarative HTML with a CSS library of affordances built on Tailwind is the *ideal* environment for a Claude Code or Codex or the like.

Who's building a design system or component kit using Tailwind, fully leveraging its features? Others must be doing more than just applying styles. I'm creating custom utilities, modifying built-ins, adding layers, and defining properties. If you’re doing the same, let’s connect.

If you button component styles can't work on input[type=submit] or input[type=reset], where ::before/::after pseudo-elements aren't present, then you have an undercooked component IMO. So, a challenge for HTML UI has been getting the subtle 3d effect I want without pseudos.

I genuinely thought such a component required JS. After a day of tinkering, turns out I was wrong. This is a 100% plain HTML and CSS "card tabs" component built with <details>, container queries, and absolute positioning.

There are two types of developers: “Least power devs” — What’s the simplest tool that solves my problem today? “Maximum optionality devs” — What tool handles every problem I might have in 5 years? I know which camp I’m in.

Everyone knows “headless” UI libraries that offer behavior without styles. BYOCSS. But we’re missing the inverse: “bodiless” UI. Styles without behavior. You bring the HTML. Here’s why we need both…

Component libraries bundle JS behavior, CSS styling, and DOM templating. Most of the time I just want one, not all three. Headless libraries solved "behaviors only, no styles." I can't find any "bodiless" libraries offering styles only, no behaviors. So I'm making HTML UI...

Bild

Alongside the Ruby 4.0 release last week, I published charm-ruby over Christmas, bringing @charm.land's excellent terminal UI libraries to Ruby. A full TUI framework, reusable components, styled output, forms, markdown rendering, spinners, charts, and a lot more! Demos below ⬇️

A cute, glowing ruby gem with a smiling face, rendered in a pink-purple neon style on a vibrant background. It represents the Ruby language with a Charm-inspired, glamorous CLI aesthetic.

CSS trees can flow in any direction. Sure, → left-to-right and ↓ top-to-bottom are most common, but a good tree component needs to support ← right-to-left and ↑ bottom-to-top as well Building on our previous foundations, just one property change for each. Here's how: 🧵

Centered horizontal-flow tree diagram showing node "1" with child "1.1" above and "1.2" leading right to three stacked children "1.2.1", "1.2.2", "1.2.3".Centered hierarchical tree diagram with node "1" branching to "1.1" and "1.2"; "1.2" further branches to "1.2.1", "1.2.2", "1.2.3".Centered schematic tree diagram showing node "1" connected to child "1.2" with three stacked children "1.2.1", "1.2.2", "1.2.3" and an upper child "1.1".Centered hierarchical tree diagram: root node "1" connects up to "1.2" and "1.1", with "1.2" branching to three leaf nodes "1.2.1", "1.2.2", "1.2.3".

Yesterday I showed how to build horizontal tree structures with just plain HTML and CSS. Today: vertical trees (org charts, family trees, decision diagrams). And the lovely detail is that it only takes one key change to make it all work: 🧵

Left-rooted vertical tree diagram with node "1" branching to "1.1" and "1.2"; "1.2" further branches to three stacked child nodes labeled "1.2.1", "1.2.2", "1.2.3".Centered vertical org chart: root "1" above two children "1.1" and "1.2", with "1.2" branching to three leaves "1.2.1", "1.2.2", "1.2.3".