[EDITORS, PLEASE NOTE — Please do not publish my e-mail address!]
People learn in different ways:
- By reading a bunch of theory, once, and immediately being able to apply it.
- By reading a bunch of theory, once, and stumbling the first time they apply it, but achieving proficiency the second or third time.
- By reading something, thinking they understand it, but really not having a clue when it comes to concrete application. (Please, no jokes about managers.)
- By working through some specific examples (and maybe later copying-and-pasting from them).
- By taking a course, with an instructor who walks you through theory and examples and usually a few exercises (or more than a few).
The first chapter, and the beginning of the second and third chapters, describe a little bit of theory. The entire rest of the book (other than then appendices) consists of a series of exercises. Each chapter covers one topic, and each exercise in the chapter shows how to use a particular CSS tag or technique. Chapters 2 through 9 are effectively one big exercise, taking a single web page and making dozens of small changes to its appearance. (Using the same web page helps avoid distraction. Honestly, though, I hope I never again read about "Thomas Twining's English coffee house.") Chapter 10 starts with the same content as a bare HTML page and an empty style sheet, and then element by element adds to the style sheet so the web page has the desired design. Finally, there's a very nice reference section for CSS2 properties, some answers to "frequently asked" questions, and a decent list of pointers to more information on CSS.
How effective is this learn-by-example approach? It varies. For some of the book, such as chapter 4 on page layout, and chapter 7 on margins and borders, I was really glad I worked through all the examples and got to see before-and-after results for each change. (Put another way: If I'd lost the CD, I'd have had a tough time getting through those chapters. Or maybe not; the examples can be downloaded via the book's errata page.) On the other hand, in the chapters on foregrounds and backgrounds, typography, and print styling, it was easy enough to just look at the HTML/CSS and screenshots in the book; the interactive approach wasn't of much benefit, at least to me.
CSS Web Site Design's use of full-color screenshots was very effective, and pretty much necessary for showing some of the effects. The book laid flat pretty decently, though not perfectly, especially in the early part of the book. I found (and reported) about sixteen typos, none which was too terrible; not bad for a book of this length and detail, but not great.
No book can cover everything. This is a "how to" book, not a "what to do" book. You'll learn a bit about design, but mostly about how to implement design via CSS. If you want to learn a lot about how to design web pages and sites, you'll need to go elsewhere. You'll also need to start elsewhere if you don't know much about HTML/XHTML. (CSS Web Site Design has a few introductory words about HTML. I was surprised, and disappointed, it didn't say much at all about the <div> tag. That tag is hardly ever used except in conjunction with CSS. Thus, it's something even experienced HTMLers might need a little help with.)
This book is over 400 pages long, with lots of fairly big pictures (screenshots). CSS: The Definitive Guide is over 500 pages long, with a lot fewer pictures. What's the difference? The Definitive Guide spends much more time on theory. It also goes into some specific details CSS Web Site Design shows only by example, such as the four elements of specificity (inline, ID, class, tag) for resolving style conflicts, and margin value replication. The Definitive Guide also spends whole chapters on some subjects, such as lists and user interface elements, that CSS Web Site Design covers in two or three pages.
Is this a good book for everyone? Pretty close. For people who learn by doing, this is probably a great resource. Personally, I'd rather get an explanation of how everything works; even so, I got quite a bit out out of this book, more than from another book I've read on the subject. (The name has been omitted to protect the guilty.) CSS Web Site Design may not teach you enough to be featured on the main page of the CSS Zen Garden, but if you don't know much about CSS, you will after reading this book.
For more information, see the book's web page and the author's site.
That's what I think about CSS Web Site Design. What I think about CSS itself is another matter. Yes, it's a huge improvement over using tables (and changing document structure) to control layout, but
Paul S. R. Chisholm has been developing software for more than 25 years. He's worked at AT&T Bell Laboratories, Ascend Communications/ Lucent Technologies, Cisco Systems, and some small startups you've never heard of. This review does not necessarily reflect the opinions of any past, present, or future employers."
Could this sort of thing actually improve the current "no one searches the archives" syndrome that seems to plague every mailing list in existence?"