Book Review: “CSS Mastery — 2nd Edition”

24 January 2010, in CSS, Project 52, Resources, Reviews | 3 comments »

I’m frequently confronted with the question of “which CSS books would you recommend?” and CSS Mastery is always at the top of the list. Here’s the audio review I did for the Boagworld podcast.

The audio



If you’d rather read, here’s the transcript of the review:

Hi, my name is Yaili and I’ll be reviewing the Second Edition of CSS Mastery, by Andy Budd.

Who is the book for?

The book states that it’s for “anybody with a basic knowledge of HTML and CSS” and experts. I’d say it’s more for the first case, but I’ll expand on that later.

There are lots of useful tips and tricks, that I’m sure you’ll use over and over, explained in a solid and easy to understand way. The fact that the examples can be seen online and that there are files that can be downloaded is great.

It’s a second edition

When I read the first edition, I was just starting to work with CSS, and CSS was still a bit of a mystery to me. I remember reading some things that I thought to be pure magic and that seemed very complicated, but now I realise they are used by any good CSS coder. So, at the time, the book opened my eyes to those techniques and to the possibilities of what could be done with CSS.


The book covers subjects from the beginning to a more advanced level.

It starts with the importance of semantic HTML, how to set good foundations. It takes a very brief look into microformats and HTML5 as well.

Then it moves onto selectors, with some more advanced and CSS3 ones — but it doesn’t go very deep into that area to be honest.

It explains the box model, which is rather important, very well. Liquid and elastic layouts.

Some more advanced techniques, like sliding doors and even multiple backgrounds, which is quite refreshing. Opacity and rgba colours.

There are some clever uses for the :target pseudo-class and attribute selectors. Some webkit proprietary code like gradients and reflections.

It also explains how to style lists and navigation. I would have liked to see a larger section for definition lists, because there’s only a small section and it sounds a bit negative (or even dismissive) and I don’t think it makes them justice.

There are some negative comments on CSS frameworks. Which I frankly agree with.

A good introduction to the IE layout issue. Some common browser bugs and how to fix them. And how to work with graded browser support.

Then on the examples, at certain points they can be a little repetitive, but there’s an interesting discussion about website widths, a brief example of using jQuery, which is rather nice.


In conclusion, as someone who had already read the book, reading it again was good, as there are always things that you forget or that you weren’t aware of, even though my experience now is completely different, and I can be a little more critical about it.

If I could change something in the book, I think I’d change the naming of CSS3 — in the specs it’s always mentioned with no spaces, and in the book it has a space between the second “S” and the number “3”. I know it sounds nitpicky, but it’s rather annoying for me, for some reason…

Also, there are some mentions to browsers that are already dated, even though the book is fairly recent (like “Safari 4 beta”, which is already out of Beta). But that’s just something that happens in our industry — things move too quickly. I’m just being nitpicky again.

So, have I learned anything from this second edition? I did learn a few things, but not much. I already use or know most of the techniques. But would someone starting to work with CSS learn anything from the book? Definitely yes. I used to always recommend the first edition whenever someone asked me for book recommendations, and I will keep recommending it with the second edition. It’s a must-have.

  • Zlatko

    I can’t find the date when the book is published? That way I could estimate if things in the book could be outdated, as things are moving pretty quickly into the web design world.

  • Cathy

    This is a little off the subject…However, I am a beginner HTML person who just finished reading “Head First HTML with CSS and XHTML.” I really enjoyed book and finally “got it” about a lot of HTML/CSS concepts. So, I recently looked at some new HTML 5 books. I felt a bit intimidated to say the least. So rather then backing off completely from Web Design I would like know what you would recommend for a beginner. I have heard that you should know the older standards and then use HTML 5 to edit and or add on. I am thinking of reading the book again and then buying their new Head First HTML 5 book. I would really appreciate your opinion. In terms of mind set, I would say I lean more towards the design side but am capable of understanding technical stuff like..HTML and etc.
    Thank you,

    • Hi Cathy,
      As important as reading good material on the subject is also to experiment, try stuff out, see what works what doesn’t, look for solutions if you hit a brick wall. The idea of looking at the standards in general rather than diving straight into all the new and shiny on HTML5 might be a good idea to filter some things out and then move on when you have more confidence. The html5doctor site is a good resource. Hope this helps!