Personal tools
Document Actions

Cascading Style Sheets: The Definitive Guide, Second Edition

by tonyC last modified 2006-11-05 02:18

review by Arien Malec, June 2005

 css2s.gif
 
CSS is one of the key components of modern web applications (along with xhtml, Javascript, the DOM, and the commonly supported XML extras such as XMLHttpRequest), and understanding the advanced features of CSS is crucial to creating both beautiful and dynamic web applications. Much of CSS use is pretty basic, and many web designers have taken a "view source" approach to CSS-based design, taking neat effects from disparate web sites and stitching them together. For the web designer wanting to create eye-popping design, or the web programmer wanting precise control of dynamic elements, a deeper knowledge of CSS is required.
 
Cascading Style Sheets: The Definitive Guide (2nd. Ed.) (hereafter CSS:TDG2e), by Eric Meyer, provides that deeper knowledge. It actually satisfies the "Definitive Guide" moniker, being in some ways a very well explained guide to the relevant specifications. This is the must-have book for a web developer or a technically minded web developer who wands to push the borders of web design, and a very useful reference for the "view source" web designer who sometimes needs to understand how CSS is put together.
 
CSS:TDG2e covers CSS1 and CSS2.1, with tiny snippets of CSS3 scattered throughout. It is written mainly as a guide to how CSS is put together, how the various selector rules work, how the properties work together, how the box model works, etc. It is not a design guide—many of the examples are intentionally ugly, in order to highlight how a particular property works. The design oriented reader who wishes to push the envelope with CSS-based design should also pick up The Zen of CSS Design, by David Shea and Molly Holzschlag. CSS:TDG2e is, however, a necessary reference to read along with The Zen of CSS Design.
 
CSS:TDG2e is also not a definitive guide to browser support of CSS. It does note where certain browsers (mostly Internet Explorer) do not support aspects of the standard, but is not a helpful reference for understanding the subtle bugs that plague CSS-based design. Even the browser compatibility messages are placed almost as an afterthought—they literally appear at the end of the section that describes the property or properties in question. That can be frustrating; just when one is getting excited about the design implications of a particular property, one discovers that the most widely used browser does not support it. This stance is, however, probably appropriate. In the near future, when IE7 has been released (and hopefully supports more of CSS2.1) and Firefox is more widely adopted, one will appreciate having a definitive guide that does not spend a great deal of time on older, crufty, mostly unused browsers.
 
CSS:TDG2e is good throughout, but is especially good at explaining the more difficult aspects of CSS. It particularly shines in explaining the cascade and specificity rules, the box model, and advanced selectors. Even after reading the relevant CSS specs (and fighting to stay awake), I did not clearly understand how browsers are supposed to disambiguate conflicting CSS rules. Now, thanks to CSS:TDG2e, I do. Likewise, the box model, and the interactions between margins, borders, padding, width and height were utter mysteries to me. I would generally work empirically, tweaking the rules until I got the effect I wanted. Now, I have a clear understanding of what is going on behind the scenes.

I would have liked more information on how to use CSS to define print styles; the half-chapter provided confused more than it illuminated. Also, although the basic properties pertaining to lists were covered, it would have been helpful to see more information on formatting and presenting non-standard lists. This is an area of great creativity (see, for instance, Listamatic). Also, although CSS:TNG is not a design book, information on how to combine rules to create interesting effects would have been helpful. Here, Eric Meyer's css/edge site and the CSSZenGarden site are invaluable.


These, however, are fairly minor quibbles. This book is highly recommended, is a must-purchase for any serious web developer or web designer, due to the thoroughness and clarity of its presentation of CSS.

You are here: Home User Group Association Program Book Reviews reviews_2005 Cascading Style Sheets: The Definitive Guide, Second Edition
 

Powered by Plone CMS, the Open Source Content Management System

skin by PYBOOM