Web designers familiar with traditional, HTML table-based methods are
going to find CSS challenging. This frustration is a natural part of
the learning process. Learning how to design with CSS should be
approached with patience and a good sense of humor. The
“browser hell” often associated
with cross-browser development still exists in CSS, as it does with
font tags, and single-pixel GIFs. CSS
is a different, better way of constructing those web page designs,
not a cure-all.
What this book is neither an introduction to CSS, nor is it a book that goes into great detail on how CSS should work in browsers. If you need a book that delves into such topics about the CSS specification, you should look into Cascading Style Sheets: The Definitive Guide (O’Reilly Media, Inc.).
If you use programs like Macromedia Dreamweaver only in its WYSIWG or “design” mode and rarely touch the markup in “code” view, you might have trouble getting the most out of this book right away. To get an introduction to coding HTML directly, look into Learning Web Design (O’Reilly).
While WYSWIYG tools allow for CSS-enabled designs, some of the tools have not caught up with some of the unorthodox approaches recommended in this book and might cause some trouble if you attempt to implement them by editing solely in WYSIWG mode. To benefit from this book, you must be able to edit HTML and CSS by hand. Some of the code in this book can be recreated using dialog-box-driven web page building applications, but you may run into some problems along the way.
The solutions in this book are geared for modern browsers with version numbers of 5 or greater. Whenever possible, there is mention of when a technique might cause problems in Version 5 or higher browsers. While there is a chapter on hacks and workarounds to hide style sheets from browsers with poor implementations of the complete CSS specification, this book makes no assurances that the reader is going create pixel-perfect designs in every browser. Even with traditional web design methods from the 90s, this has never been the case. Unfortunately, that’s the nature of cross-platform, cross-browser web design.