← The writing

Engineering · 5 min

Why I still argue with CSS at 1am

Jan 2026

You'd think after years of shipping UI, CSS and I would have reached a truce. We have not.

The specific fight, this time: a flex container that refused to respect min-width: 0 on a nested text node, quietly overflowing a card by exactly 14 pixels on one specific viewport width. Nothing in the computed styles explained it. Nothing in the DevTools box model explained it. It took a comment from 2019 on a GitHub issue to explain it.

The pattern, every time

  1. Something looks wrong.
  2. I assume it's my fault.
  3. It is not my fault. It's flexbox's default min-width: auto on flex children.
  4. I remember this for exactly one project, then forget it by the next.

I've started keeping a personal "CSS grudges" file — a running list of gotchas I've already paid the tax on once. It's saved me more debugging time than any framework upgrade.