As an example take the position property. When this property is set to "position:absolute" the absolute position is calculated RELATIVE TO THE CONTAINING BLOCK. However Keith doesn't bother to explain this CRITICAL DETAIL and just glosses things over by talking about positioning relative to the browser window (viewport). There's no excuse for his casual treatment since he's written a 900 page book!
I would welcome recommendations on a book that REALLY elucidates CSS--but THIS book isn't the one. (...)
and study the actual specification. Unfortunately be prepared for the sad reality that not a SINGLE VENDOR has actually supported this specification (SHAME ON YOU MICROSOFT!! You should be leading the industry here, not ignoring the spec now that there's no longer any serious browser competition.).
This is one thing that Keith DID do well--he highlights what properties are safe for each browser version in use. It may well be worth the purchase price just to have this information. However if you, like myself, are looking for a definitive CSS reference that brings everything together in ONE volume (does such a book exist???) look elsewhere.
So... for now its the W3C spec for me.
The book is easy to look through and use as a reference. The preface describes the target audiences as already "web authors" who want to become more effective. If you are completely new to CSS, the book does a nice step-by-step education of the ins and outs of CSS. However, if it had been my first CSS book (instead of 6th), I'm not sure that I would have had the motivation to learn how to convert all my planning from simple HTML markup to CSS; that I got most persuasively from Owen Briggs' "Cascading Style Sheets: Separating Content from Presentation" ISBN 1904151043, which I highly recommend to anyone still just mixing CSS into their HTML for occasional convenience. Nor is the writing engaging enough to carry along a reader who is not already convinced that they have GOT to learn CSS.
"Core CSS" does provide pretty comprehensive reference material, although some of it will not become "pragmatic"(the stated objective) for a few years -- e.g., all the material on CSS-3. The author usually includes the caveat "proposed" before the term CSS-3 ( the standards are still developing). Three years from now when browsers start to attend to CSS-3 standards, this material will apply (or be outdated if final standards different). Anyway, for CSS newcomers the inclusion of all the not-yet-applicable CSS-3 material will probably be more confusing and distracting than useful. More "pragmatic" to me would have been the inclusion in the extensive browser-compatibility tables of Apple's Safari browser (i.e., Mac OS X). Safari's user base is closing in on 10 million; it is the fastest and arguably most convenient browser yet designed; and although Mac users are a minority, their ranks include above-average incomes (and hence web shopping, etc.) and a preponderance of designers (including web).
My other concern about attempting to present "Core CSS" as an all-in-one CSS is that it does NOT have examples of how to WORK AROUND the documented quirks introduced by the pervasive disregard by browser designers for CSS standards. Here is where ANY CSS designer needs to study a copy of Eric Meyer's "Eric Meyer on CSS: Mastering the Language of Web Design." The latter volume enables a designer to see how/why to employ CSS from scratch in designing pages/sites and special strategies for REdesigning to maximize efficiency for author and visitors.
I'm not one to encourage monopolies, yet I must say to the beginner that once Meyer's volume has given you the strategies to design with CSS, Meyer's reference volume (0072131780 - Cascading Style Sheets 2.0: Programmer's Reference) continues to be handier to work with as a daily-basis reference than "Core CSS" - even including basic conceptual frameworks such as the "box model" in a way that helps your planning (despite being two years older). Although "Core CSS" includes some screen shots, they do not offer as strong a conceptual underpinning for beginning one's work with CSS. My apologies to the publisher for a tepid review of Core CSS: it is improved over the first edition; but it doesn't amount to either an effective introduction for beginners or a comprehensive 2004 reference for the experienced.
Core CSS goes through everything, and it does it very thoroughly, even on properties that are essentially repeats of each other (i.e., margin-left and margin-right). The basic core concepts regarding the box model, floating and such are all well covered with examples, and each property throughout the book tells you exactly what the "gotchas" are in the various browsers out there. The frustration that might come from design using div tags and CSS can at least be directed toward the browser makers and not the standard itself.
The only minor shortcoming, not worthy enough of dropping my five-star score, is a rather brief example of doing a "table" with div tags. Still, it's not enough to really sweat over.
I keep the book on my desk all of the time when doing layout and design. You will too after you breeze relatively quickly through its thousand pages.
Thus CSS was born. By now, it is officially in its second version and compellingly mature. The book describes it all. PLUS the proposed CSS3 extensions. The teaching is straightforward, and it makes CSS to be no harder than HTML. Which is commendable, because one of HTML's strengths was that it was easy to learn, and that you could quickly write simple HTML pages, without having to know most of the language. The book builds on this by presenting CSS in the same way.
The book also devotes a chapter to that some might regard as potentially the most powerful new thing introduced in CSS2: Aural properties. Most browsers still can't handle these. But that is one of the attractions. You can glimpse what future browsers will do - being able to read out web pages. Lest you think this is frivolous, there is vast potential for cellphones and other small devices which have limited screens and might benefit from hands-free operation.
The book not only covers CSS1 and 2 but also CSS3, which is something no other book I have seen has done. In fact this book also gives you a deeper understanding of how CSS is impleneted in several browsers, including Opera, IE and Netscape.
Over 800 pages are filled with infomration that breaks down CSS creation in an understandable set of concepts. The author has put together a reference manaul that everyone who creates style sheets should take a look at.
You have over 40 pages on fonts and font properties, as well as 90 pages on text properties. The book even covers transistions and filters, another topic that is lightly covered in other books I ahve read.
There were topics I have never heard of before like RUBY tags, and some visual effects that are covered as well in this manual. There is even a CCS1 to CSS2 comparison chart included so you can see how they are simliar and different.
Overall if you plan to use CSS in your web design, than this book may certainly be the book to have.
It also does a good job explaining which CSS properties will work in certain browsers, like Internet Explorer, Netscape, and Opera and on various platforms - Windows, Mac, and Unix. Although keep in mind that this book was published in 2000. At that time Internet Explorer was at version 5.0, Netscape was stuck at 4.x, and Opera was at 3.6. During those days, CSS2, and some properties of CSS1, were considered bleeding edge technologies and didn't work well in all browsers and all operating systems. But today, most new browsers are cross-platform and will work with the CSS1 and CSS2 examples in this book without any problems. So even though this book is more than two years old - an eternity in Internet time - the content is even more valuable today than when it was published. Now it's time to get rid of those tables and tags and start stylin'!
Summary: This book is for people who want a very simple and easy way to find out about any CSS property. I recommend that the person who buy this book should know JavaScript and of course HTML and basic CSS will be even better.
The new edition is better organized and is up to date with information on actual browser implementations -- and includes the IE extensions, a touchy but valuable subject often avoided by others.
Over all speaking, this is the best you can find in the current market.
What I do have a problem with is the fact that the whole book, every example for every property, was completely embedded into the HTML itself. Their was a slight reference to externally described CSS but no examples to follow. The idea of the sheets is to set a number of parameters for most or all of your pages to follow. Embedding them into the HTML every time defeats the purpose. Also their were some mentions to multiple options techniques that never had any kind of example or visual of any kind to follow so you can see how this could be useful. In that sense the beginner user would be completely lost on something that can be helpful down the road.
After going through the entire book and learning maybe 5% more than I already knew (from online free tutorial sites) I realized that it would better to just go online and search the free sites if I have any questions. Their are tons of people out there who can answer your questions a lot better than this book can.
It wasn't a complete waste, but certainly not worth the money I paid for it. Not a good learning tool, hardly a reference guide. If your new to this you might just want to go else where to learn it. If you're a veteran believe me when I say that you'll be bored before you make it through the first 3-4 chapters.
The one thing I like about this book over the O'Reilly book on the same subject is that it dives a lot into CSS2, giving me a head's up on features to come. Neat.
Somebody else commented about the lack of info on external style sheets. That's a dumb comment because you can only learn how to write an external style sheet if you know the individual bits of code used. And the book *does* mention how to use external style sheets -- but most of the examples are inline, which is easier to illustrate.
Thumbs up on this book!