It needs to be said; Hancrafted CSS is one of the most motivational and inspiring development books I've ever read. You want to roll up your sleeves and get down to business instantly. It’s beautifully written, engaging, concise, positive, and hopeful. When I have a day where I’m not so keen on the prospect of having to code all day for a client, I read a few pages of the book and... voila!
Who’s the Author?
Dan Cederholm is undoubtedly a renowned and recognized expert in our field and has an audaciously impressive resume, ranging from Google to MTV. He's written two other books, both of which I've read and will review in the not so distant future.
To round off the fantastic reading experience, Ethan Marcotte, another well-respected web designer and senior creative head of Airbag Industries, treats us to a fine chapter on fluid layout design.
What’s the Book About?
As the title suggests, the book is about crafting design with CSS, however not so much with CSS2.1, the current standard, but rather with the über mighty CSS3.
Inevitably, that leads to the question why Cederholm has written a book about a version of a markup language that is neither a standard (yet) nor a language that finds wide support as of July 2010, most notably — and quite frustratingly — in Internet Explorer, the world’s most used browser and the designer’s greatest headache, well, the legacy versions anyway.
The answer is quite simple: The book explores design techniques that allow you to circumvent those particular strains that go along with creating designs that look identical in all browsers, from legacy to the newest versions. Cederholm proposes to stop designing with pixel-perfection in mind. While we’ve struggled with rounded corners, experimented with probably no less than twenty different rounded corner techniques, some with the aid of Javascript, some without, all these previous techniques had and have one thing in common; They either require plenty of extra markup, bloating up your beautiful code, need the assistance of a dynamic scripting language (Javascript), use too many images, exhausting your server with an insane amount of extra HTTP-Requests, or forfeit your design’s flexibility and thus make it a pain and a horror prospect, should your client ask for something as trivial as a colour change.
CSS3 offers a property that will make those concerns tremors of the past. That property, that very feature which obviates any and all potential panic attacks is called border-radius. While we still need to use vendor-specific browser prefixes,this is one of those CSS3 properties that can be used today and is supported in all modern browsers, minus all versions of Internet Explorer up to version 8.
So what if clients are not in accordance with the fact that IE doesn’t render the pages like the other browsers do? Cederholm makes the case by creating a fictional Coffee website, implementing a handful of modern CSS3 techniques that render beautifully in Opera, Safari/Chrome, and Firefox and degrade gracefully — the aesthetics of which are only marginally lost — in Internet Explorer as well as all other legacy browsers.
It is important to note that Cederholm merely suggests using these techniques, if the environment allows for it. Not every site is suitable for such an aggressively progressive, foward-thinking approach to coding. Sometimes we need to abide by the rules set forth by our clients, boss, our working environment, and most importantly, our target audience. The most advanced and smartest design in the world is worth nil, nada, niente, if the people who visit your site, who are the sole reason of your site’s existence, can’t use it, and use it well.
Cederholm introduces plenty more examples of modern coding techniques, comparing them to older, tried methods, weighs us in on considerations, such as making use of alpha-transparency by using CSS3’s RGBA property, how to make content sections modular, proposing the use of flexible-width layouts — or should I say fluid grids — a most inspiring chapter written by Ethan Marcotte, as well as briefly touching on the subject of implementing non-standard fonts via the @font-face property.
Conclusion
I can say with great confidence that this is a book that should be in every designer’s bookshelf. There are books that go into much greater detail, but if you are in accordance with the Utilitarian approach to design depicted in this book, want a well-rounded, wonderfully composed companion that makes you thirst for more in-depth information on any of the topics discussed, then I wholeheartedly recommend this book to you.

