Oakland.pm

Reviews

Review of "CSS: The Missing Manual "

author: David Sawyer McFarland

reviewer: George Woolley

Title: CSS: The Missing Manual
Author: David Sawyer McFarland
Publisher: O'Reilly Media
Edition: First 
Publication Month: August 2006 
Series: The Missing Manuals
ISBN: 0-596-52687-3
Pages: 494
Price: $34.99 USD, $45.99 CAD, 
       £24.99 GBP
Note:

Short Review

Smiley Rating: :) :) :) :) of 5.

This is a very good book on CSS; it's part of the Missing Manual Series.

A book in the Missing Manual Series is supposed to:

  • be the manual you wish had been provided
  • be clear enough for a novice
  • be deep enough and detailed enough for a power user
  • be complete
  • be warm, witty and jargon-free
  • provide a real-world perspective.

Like I said this a very good book in the Missing Manual Series. I found it valuable and I recommend it.

If you want more detail, you could check out my somewhat longer review.

George Woolley of Camelot.pm and Oakland.pm

Miscellaneous

List of Chapters

  • Chapter 1. Rethinking HTML for CSS
  • Chapter 2. Creating Styles and Style Sheets
  • Chapter 3. Selector Basics: Identifying What to Style
  • Chapter 4. Saving Time with Inheritance
  • Chapter 5. Managing Multiple Styles: The Cascade
  • Chapter 6. Formatting Text
  • Chapter 7. Margins, Padding, and Borders
  • Chapter 8. Adding Graphics to Web Pages
  • Chapter 9. Sprucing Up Your Site's Navigation
  • Chapter 10. Formatting Tables and Forms
  • Chapter 11. Building Float-Based Layouts
  • Chapter 12. Positioning Elements on a Web Page
  • Chapter 13. CSS for the Printed Page
  • Chapter 14. Improving Your CSS Habits
Notes:
  • To view the full table of contents, visit the O'Reilly catalog entry.
  • The chapters are divided into 4 parts: CSS Basics (1-5), Applied CSS (6-10), CSS Page Layout (11-12), and Advanced CSS (13-14).
  • The chapters are preceded by an Introduction.
  • The chapters are followed by three appendixes and an index.

Online Watch

Safari

This book is available on Safari Tech Books Online. In fact I read the first seven chapters (and also the appendixes) there online. :)

Note:
  • To learn more about Safari, click the Safari icon above.
Catalog Entry

The the O'Reilly catalog entry for the book offers much that's useful re the book, including:

  • table of contents
  • sample chapter
  • reviews
About the Author

Here are two links that will help you learn more about the author:

I found these links by doing a search on David Sawyer McFarland.

Some Useful CSS Links

There are useful CSS links throughout the book. In addition, there is an appendix titled "CSS Resources" which mostly contains useful links but also includes references to books.

Here's two links I especially like from that appendix:

There's lots of interesting CSS stuff on the web, so I suggest you do some Google searches. Two links I was pleased to find while doing this review are:

Internet Fun

I have the theory that it's good to laugh, hence I'm including a link to some random Internet fun.

Somewhat Longer Review

Contents

The Title

CSS

CSS is an abbreviation for Cascading Style Sheets. Cascading Style Sheets:

  • make it easy to change the style of many pages at once.
  • allow for a high degree of separation between content and presentation.
  • are style sheets that can be from multiple sources (the designer, the browser, the user) and are applied in sequence according to a set of rules that resolves conflicts.

If you want just a tad more re what CSS is at all, you could check out the section titled What are Cascading Style Sheets (CSS)? in my review of "Cascading Style Sheets: The Definitive Guide".

Missing Manual

"Missing Manual" is an O'Reilly Series. A book in this series is supposed to:

  • be the manual you wish had been provided
  • be clear enough for a novice
  • be deep enough and detailed enough for a power user
  • be complete
  • be warm, witty and jargon-free
  • provide a real-world perspective.
Does the Title fit the Book?

The book is certainly focused on CSS. :)

I'll go through point by point as to whether it's a Missing Manual:

  • I certainly wish I'd had the manual earlier. :)
  • The book is unusually clear, but I think some of the chapters would be quite difficult for a novice. :) :(
  • I consider myself a power user in this domain, and the book was certainly deep enough and detailed enough for me. :)
  • I didn't notice any areas of the subject that were missing from the book. :)
  • The book is informal, fun and the language is simple and straight forward. :)
  • The book conveys a real-world perspective. :)

I would recommend the first 7 chapters of the book to a motivated novice. And that's enough to make the book worth getting.

All things considered, I'd say the title is appropriate for the book.

About the Reviewer

CSS Experience

I've been using CSS since 1997.

I've built a number of websites using CSS. I've also read and reviewed a number of CSS books.

I'm not a professional web designer. I guess I'm a power user.

Dreamweaver Experience

I've never used Dreamweaver.

Missing Manual Experience

Earlier, I read and reviewed two books in the Missing Manual Series:

  • "Google: The Missing Manual", first edition (my review)
  • "Creating Web Sites: The Missing Manual" (my review)

I've used a couple of other books in the Missing Manual Series.

O'Reilly Experience

Most of the tech books I've made heavy use of are O'Reilly books. I like their books, and I like O'Reilly Media's presence in the tech world.

I've written many reviews of O'Reilly books.

Training Experience

I worked for a Unix training company for several years developing self teach courses.

I taught a couple of intensive computer classes for a certificate program at SF State Extension. I've also taught many informal classes.

Reasons for Reading this Book

I was interested in this book because:

  • I was hopeful I might be able to recommend it to novices.
  • I expected I'd gain one or two insights that would enable me to use CSS more effectively.

What You Get

Front Material

The most important part before the Chapters of the book is the Introduction. The Introduction prepares the reader for what lies ahead. Among other things, it covers:

  • the intent of the book.
  • what CSS is, how it basically works and what its advantages are
  • what prerequisites the book assumes the reader has
  • some basics of HTML and XHTML
  • the intent of the main Parts of the book
  • the relation of the book to the downloadable examples
  • some conventions used in the book
Body

The body of the book, as I conceive it, consists of 4 parts:

  • I. CSS Basics
  • II. Applied CSS
  • III. CSS Page Layout
  • IV. Advanced CSS

Each of these 4 parts contains 2 to 5 chapters.

There are 14 chapters; the shortest is 10 pages long and the longest is 47 pages long. Each chapter consists of:

  • a brief introduction
  • a number of explanatory sections
  • one or two tutorials (except for the first chapter which does not include a tutorial)

See "List of Chapters" in the sidebar for a list of the chapters.

The explanatory sections in a chapter range from 7 to 30 pages. The sections that I refer to as explanatory don't consist of just explanatory words. They also include examples, diagrams and various notes. See the subsection "Changes of Pace" at the end of this section for a tad more detail regarding this.

The tutorials give explicit directions (with numbered steps) to do specific things. Some early examples are:

  • creating an internal style sheet.
  • creating and applying an ID selector.
  • using inheritance to restyle an entire page.
Note:
  • If you don't understand one or more of the CSS terms in the paragraph above, no problem. You will understand all of them by the end of Chapter 4.

In the tutorials, you start with file(s) you download that contain initial HTML & CSS. You modify the HTML & CSS and display until your page does as intended.

Back Material

There are three appendixes and an index.

Appendix A is a "CSS Property Reference" for CSS 2.1. I found it interesting because:

  • It only includes properties that are supported by (at least) several browsers.
  • The properties are grouped by type of use: text; list; padding, borders and margins; backgrounds; page layout; tables; and miscellaneous.
  • If a property is inherited, that is indicated in parentheses as part of the heading.

In contrast the typical property list I'm familiar with:

  • includes all the CSS properties.
  • puts all the visual properties in alphabetic order.
  • includes a field for inherited? for every property.

The choices the author made make sense to me.

Appendix B is "CSS in Dreamweaver 8". I've never used Dreamweaver (though I've certainly heard good things about it), so I have little to say about this appendix.

Appendix C is "CSS Resources". It contains many useful links and some references to books.

The Index will be important to you if you plan to use the book as a reference. I did a small test that focused on 10 CSS related terms. Based on that and scanning the Index, the Index looks very good to me.

Changes of Pace

This book consists of mostly of sequential text, but the text is frequently broken up by figures, notes and such. You'll often see:

  • figures, usually images of browser pages or diagrams
  • short notes and tips marked by horizontal rules before and after
  • longer notes identifiable by white text and a grey background

The longer notes have labels such as:

  • FREQUENTLY ASKED QUESTION
  • INDIGNANTLY ASKED QUESTION (my favorite)
  • POWER USER'S CLINIC
  • UP TO SPEED
  • WORKAROUND WORKSHOP

The text is also broken up by many examples.

A large number of URLs are included throughout.

Likes

Clarity

The author's explanations are exceptionally clear.

Prerequisites

I like that the author speaks to what you should know before diving into this book.

Relevance

IMO, the author has a keen sense of relevance. Some of the things I particularly appreciated that he included were:

  • assurance that it was not necessary to learn every CSS selector
  • the many links (including to forums) for further help and learning scattered through the text and in Appendix C
  • a reference to the W3C CSS validator.
Suitable for Novice

I was looking for a book that I could recommend to at least some novices. I do feel comfortable recommending this book to some novices.

Tips

I was also hopeful that I'd learn a few things. I was surprised how much I learned.

Sometimes I learned from the clearly marked tips. But that's not the only place I found useful tips.

Tutorials and Examples

The author's explicit tutorial sections were exceptionally helpful.

I found myself eager to get to the next tutorial. I don't recall that happening before.

Variety

I refered earlier to the many changes of pace in the book. The author is effective at shifting between (and coordinating):

  • explanatory text
  • examples and visual representations of their results
  • diagrams
  • short tips and notes
  • longer notes

I found the varied presentation helpful in two ways:

  • It allowed me to use different learning skills I have.
  • I, for sure, didn't get bored.

Gripes

Not Enough on Color

Personally I'm fascinated by color. I would have been happier with a whole chapter on color. It could have dealt with both the different notations for color values and how to use color effectively.

There is a little about color values in Appendix A.

I don't know that other people are as much into color as I am. :-(

View of CSS Specification

The author characterizes the CSS 2.1 Specification as "technical mumbo-jumbo". My own view is that it's a well written document that serves it's purpose.

I certainly understand that it's not suitable for "the average Joe (or Joanne)". Personally I'm quite comfortable with the idea that different documents serve different purposes.

A Missed Tag Soup Opportunity

From time to time it's desirable to look at HTML even if you are using a WYSIWYG (What You See Is What You Get) tool such as Dreamweaver. At such times it's nice if the HTML is easy to read.

Without CSS it's difficult to write readable HTML (that also looks good when displayed). This is the main reason I use CSS. I don't think the author makes this benefit of using CSS clear.

I would like to have seen a before and after example based on the example used in the tutorials. The before version of the HTML would be among other things filled with font and center tags. Such an example could be fun. Even if relegated to an appendix, I would have enjoyed that.

I've heard the argument that with the more orderly XHTML, tools will become so good that you'll never need to look at HTML. I doubt that will ever be true, but who knows. Anyway it's not true now and not likely to be anytime soon.

Uses Family Inheritance Analogy for CSS Inheritance

The author relates CSS inheritance to family inheritance. For me, that's a stretch. For one thing, most of us inherited from two parents. ;-)

Who's the Book for?

Ideal For

The ideal reader for this book:

  • wants to learn CSS
  • is a Mac OS X user
  • is familiar with and impressed with David Pogue and the Missing Manual Series
  • is familiar with HTML but doesn't know much CSS
  • knows the basics of how to use Mac OS X

This latter includes (among other things) being able to:

  • open programs
  • surf the web
  • download files
  • use the Apple Menu
  • change System Preferences
Also For

This book would also be good for:

  • users of any OS (e.g. Mac OS X, Classic Mac OS, Windows, Linux) if they want to learn CSS, know a bit of HTML and know the basics of how to use the OS they work under
  • more experienced CSS users who wish to improve their communication about CSS
  • more experienced CSS users who wish to expand their knowledge of CSS
Not For

This book would not be good for any of the following:

  • people who do not know the basics of using any OS.
  • people who know they don't like the Missing Manual Series. (I've not encountered any, but ...)
  • people who feel they already know what they want to know about CSS.
  • people who are not willing to put any effort at all into learning CSS.

Final Thoughts

This is a really well written very readable book on CSS. If you want to learn CSS, I recommend this book.

Smiley Rating: :) :) :) :) of 5.

complete draft on Web: 2006-10-03f

many small changes: 2006-10-08d

removed draft status: 2006-10-09