Andy Bell and Heydon Pickering’s new project, Every Layout, is fascinating as it hopes to document some common layout problems and describe how to build them with CSS. But there’s a post in the depths of the site called Algorithmic Design that I found pretty interesting, too:
We make many of our biggest mistakes as visual designers for the web by insisting on hard coding designs. We break browsers’ layout algorithms by applying fixed positions and dimensions to our content.
Instead, we should be deferential to the underlying algorithms that power CSS, and we should think in terms of algorithms as we extrapolate layouts based on these foundations. We need to be leveraging selector logic, harnessing flow and wrapping behavior, and using calculations to adapt layout to context.
The tools for flexible, robust, and efficient web layout are there. We are just too busy churning out CSS to use them.