Michael Shynar does a better job than I would distilling the fact of CSS suckage:
CSS relies on hierarchy for positioning, visibility & property inheritance. Therefore, it cannot be separated from the markup & interaction like some HTML purists suggest.
When positioning elements, one of two options can be used:
In the flow, which means automatic height & collection of inline assets into blocks, but very hard to tweak the default decisions.
Out of the flow, which more or less forces use of fixed dimensions for anything positioned this way.
Of course, often you’ll end up with the following retorts:
- But I’m an expert at it!
- But before, we mixed content and presentation!
- But look at the cool things you can make with it
Apprecite for a moment what non-sequiters these are.
Don’t see it? Here’s an example. Among my more archaic skills, I’m damn good at optimising conventional DOS memory. It’s such an improvement over core memory. With it, I can run cool things, like Commander Keen! Therefore, by CSS logic, DOS memory must be great.
I need some tea.