Book Review: CSS Mastery

Book cover of CSS Mastery by Andy BuddThe last time I looked at CSS Mastery on Amazon.com, it was sitting somewhere at the very top of the sales rank, alongside Harry Potter and The DaVinci Code. Author Andy Budd couldn't believe his eyes - was Amazon's sales rank tool playing up or was this book selling like the proverbial hot cakes? Well, it seems, much to Andy and Amazon's relief, that it was the latter. It's fair to say that there were a lot of people waiting for this book to come out and they all made a mad rush for it at Amazon.

Now things have calmed down a little and I've managed to find a relatively clear spot in which to have a read and see if it really is up there with The Da Vinci Code (which, quite incidentally, I finished listening to just yesterday - taking the lazy approach!).

Initial Impressions

My first impressions on leafing through were that it looked to be nicely put together and clearly illustrated (even the photos were beyond reproach, being as they were all pictures of Britpack web designers, nepotism eh?!). As I began reading through the first chapter my initial thoughts were that the foundations were being rushed through somewhat, but then I took a mental step back. I had written a book myself last year and it was for the complete beginner, and what I realised as I read that first chapter was that I was still thinking with that beginner's head on, and this is not what CSS Mastery is about. Having made that mental adjustment I realised that it was a fine recap on the 'basic' requirements that any professional web designer should know about before refining their skills even further - and this is what this book is all about, mastering CSS, taking it to the next level.

What's in the book

The tricks and tips begin with a run-down of various background image techniques that can be applied to liven up text boxes, drop shadows on photos and the sometimes contentious practice of using image replacement. For those who do not understand what this means, it's where text (for example, a text-based heading) is hidden using the CSS display property and an alternative, more visually rich version of that text is supplied in the form of a background image. It's contentious because in certain scenarios the technique can fail (if the browser has images off but CSS enabled). Andy is very clear in telling the reader that this is a possibility and needs to be used with caution, and indeed it is a trick that is used all over the web.

The next two chapters deal with styling links (such as indicating links that lead outside of the originating site, hover effects and so on) and then on to a special kind of link, that being navigation (or 'nav bars' to us nerdy types). There is a particularly nice section that shows how to create CSS-based image map links that produce an effect similar to the notes that can be applied to photos on photo-sharing website Flickr.

Andy then moves swiftly along to the topic of styling tables and forms. Perhaps a little too swiftly, though - the two items combined in one chapter could easily have had a chapter each and, despite this book aiming at the intermediate level web developer/designer, I'm sure Andy has more tricks up his sleeve that he could has shown for these topics.

The book then moves up a gear by explaining the various different CSS layouts that one can employ to set up a page, explaining such concepts as floats, scalable layouts using the em measurement and using background images to create virtual containers for page content. The book continues in that higher gear with the following two chapters. The first of these is one covering hacks and filters which explains what all the various hacks are for, how they developed and, importantly, what their shortfalls are. The second of these 'high gear' chapters is really the tying up of all the previous chapters and looks at how to identify bugs, and then how to put things right.; a particular favourite for me is the explanation of the hasLayout property (a 'hidden' property that many otherwise knowledgeable CSS developers don't know about or understand completely).

The latter section of the book is handed over to co-authors Simon Collison and Cameron Moll who each provide a case study that demonstrates various techniques alluded to earlier in the book. Just as it is the case with The Zen of CSS Design, this part really appealed to me as it focuses very much on the design aspect and how to get the CSS to achieve those desired results. It's not just theory - the case studies are backed up with real, living (and very attractive) web sites that you can try out for yourself, especially while reading the associated text in the book (case studeies: More Than Doodles and Tuscany Luxury Resorts).

Conclusion

Andy can be very proud of this book and he's been lucky to have such excellent case studies to go with it, making this an excellent CSS book for the intermediate-level web developer with some knowledge of web standards who wants to take their skills to the next level. Well, the title is all about CSS Mastery, and this book delivers on its promise.

 
Rating (out of ten)
Practical advice:
9
Shelf life:
8
Appendices/Reference materials:
9
Appropriateness for beginners:
6
Variety of topics covered:
7
Overall:
8

Factbox
Title CSS Mastery: Advanced Web Standards Solutions
Where to buy Buy from Amazon US, Amazon UK and other locations
Publisher Friends of Ed
Written by     Andy Budd with Simon Collison and Cameron Moll
ISBN 1590596145