Creating web site layouts using CSS is not as easy as it ought to be (far from it), and as far as complex designs are concerned a lot more difficult than it is to roll out a table based layout. And even though many people struggle with creating CSS-based site layouts, most books about CSS just have a chapter or two about this, and many of those cursory and often introductory texts are actually pretty bad. This book, whose full title is Flexible Web Design: Creating Liquid and Elastic Layouts with CSS, written by Zoe Mickley Gillenwater, is therefore a much needed resource for people using or wanting to use CSS-based designs.
A huge number of different types of CSS-based designs are, of course, possible. The easiest ones to create are the fixed designs (e.g. fixed pixel width) and liquid or fluid layouts using only one measurement (for example em-based or percentage-based designs), that is, where all columns are measured using the same unit of measurement. Liquid or fluid layouts change width based on the user’s unique device viewing size. These types of layouts have always been possible with tables, but offer new design challenges as well as opportunities when built with CSS. This book, for Web designers with some CSS experience, outlines how to do this successfully.
The book also gives you good advice about the benefits and disadvantages of flexible layouts and when to choose a liquid, elastic, or hybrid design. It shows you in a very nice, step by step manner, how to build a liquid layout from scratch using standards-compliant and cross-browser compatible (X)HTML and CSS, as well as how to design and slice graphics in ways that makes flexible design achievable, for instance in creating a faux column layout.
I liked the book a lot – it has a nice blend of theory and actual exercises, and Zoe Mickley Gillenwater has done a great job. It goes into lots of detail on a number of important techniques for styling web pages with CSS that will be useful to anyone creating web pages. While I generally consider the book to be very good, I did not think the author did a very good job of explaining negative margin layouts, especially negative margin layouts with fixed sidebars and flexible overall widths (e.g. hybrid layouts) also using min-width and max-widths.
Even so, I highly recommend Flexible Web Design: Creating Liquid and Elastic Layouts with CSS. It is a fairly comprehensive book that deals with material that is important and will stay so for quite some time, as the CSS3 specifications so far have not done much to make it easier to create CSS-based layouts.