When I first began building layouts with CSS, I believed the problem was complexity. Pages broke. Columns collapsed. Elements wandered across the screen like drunken adventurers leaving a tavern at midnight. My assumption was that layout required more tricks, more hacks, or more cleverness. That assumption was wrong. Layout problems in CSS rarely come from a lack of cleverness. They come from a lack of strategy. In the world of tabletop adventure, a battlefield is rarely conquered through a single tactic. A warrior advances differently than a ranger. A wizard approaches the same terrain with an entirely different plan. The same ground may be crossed in several ways, but the…
-
-
When I first began learning CSS layout, I believed positioning elements was something I had to actively command. I imagined that every element needed to be pushed into place like pieces on a tactical map. If a heading appeared slightly off, I tried another property. If a paragraph drifted out of alignment, I forced it back with margins or positioning. Eventually I discovered that the browser already has a plan. Before any layout system is invoked, before Flexbox or Grid enter the story, every web page follows a quiet and predictable rule system called normal flow. Normal flow is the browser default layout behavior. It is the terrain upon which…



