It is true, it is HTML5 that gets all the publicity but, as this book hopes to point out, it is in fact CSS3 that is responsible for most of the new things that people are doing with "HTML5". The book's subtitle is "A Developer's Guide to the Future of Web Design" but most of the content isn't very programmer-oriented but then it isn't very beginner oriented either.

Chapter 1 is the usual what is it, what isn't it and a quick introduction to CSS syntax. This is where browser-specific prefixes are introduced and some hint of the confusion these are currently causing is given by the fact that the author can't decide where to place the non-specific version of a tag.

Chapter 2 explains the general idea of media queries and this is where you might first notice a problem with following the explanations, namely that the syntax is introduced without much explanation For example:

@media media and (feature:value) {rules}

It is not until you see an example quite a way down the next page does it make more sense and even then the example doesn't show you what the {rules} look like in practice - for that you have to get to a longer example. The point is that if you are very happy with CSS syntax you will find this method of introducing things OK but if you are struggling to cope then it isn't very friendly. It isn't formal enough to be precise and yet it isn't informal enough to be helpful. This said, as long as you stick with the explanation and carry on reading until you get to a few examples that show how the syntax works then it all works out in the end. If you are of the sort who wont move on to the next page until you have understood what is being explained then this wont be an easy book for you to read.

Selectors are the heart of CSS and chapter 3 attempts to explain them in detail but it really only informs you of the new selectors and the interesting selectors. Once again if you are a beginner you will be a bit lost. Chapter 4 is about pseudo classes and elements and extends the discussion to CSS providing a way to work with the DOM hierarchy.

The next part of the book deals with text and layout. Chapter 5 is on fonts. Chapter 6 is on typography and Chapter 7 is on multiple columns. From here the book looks at other layout types - images (8), border and box effects (9) and color and opacity (10).

As we move into more complex and recent areas the need to make specific reference to particular browsers increases. Chapter 12 is on 2D transformations and here we are well and truly in the realm of browser prefixes. Chapter 13 on transitions and animations which is just about supported by the major browsers. Chapter 14 however moves into 3D and this is currently something you should only consider as an experiment. Chapters 15 and 16 on flexible box layout and templates are also cutting edge. The final chapter looks to the future of CSS.

Overall this is a good book if you want to be a CSS expert and if you want to try out things that only work on some browsers. The book doesn't really provide much of an idea of what CSS in the real world looks like but this is not a problem - as long as you are not a beginner. There are parts of this book that could be written in a more accessible style but overall if you are the right reader and prepared to press on even when you don't quite understand then it all works out happily in the end. If you want to know about CSS3 and you are more than a beginner then this has a lot to offer.