Foreword
In the beginning, there was markup; and lo, it was good. Then came style sheets, which let the author make the markup pretty; and lo, they were also good.
Some of that goodness was rooted in simplicity. HTML was simple, charmingly so, and CSS started out as a small set of presentational suggestions that nevertheless allowed for a great deal of creativity. Even when you account for the fumbling browser implementations of early CSS, it was quite possible to hold in one’s head every property, value, and common browser behavior. You could even document them all on a single page for easy reference.
That day is, of course, long since past. CSS has massively expanded in scope, depth, and complexity, and it has penetrated into unexpected places. Trying to keep track of everything CSS has to offer is incredibly difficult, and when you take into account all the varying support profiles and behaviors of desktop browsers, mobile browsers, OS adaptations, embedded firmware, and more, it’s practically impossible to comprehend a single snapshot, let alone keep up with ongoing changes.
So it’s no wonder there are so many CSS frameworks out there. Frameworks are a great way of taming complexity. Rather than have to remember all the fiddly details of vendor prefixes and syntax, and rather than have to put up with the limitations inherent in the CSS syntax (still no variables!), you can load up a framework and let ‘er rip. You can even, depending on the framework, invoke a few simple classes ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access