This was my first intro book to HTML and CSS. The writing by Elizabeth Castro is actually very clear and pleasant to read, but the style of writing is not conducive to learning the material in my opinion. Every page is like this: a brief intro paragraph at the top, then a list of steps for writing the HTML laid out in nauseating detail, then another list of "tips" that didn't fit anywhere else. The steps for writing the HTML are so wordy, it destroys your train of thought and makes me want to put the book away for another day. For example, and this is just a small example among countless others, she feels the need to write this, and I quote:
7. To add the final parentheses, type ")".
That's nothing. Unnecessary details and wordiness like this abound in this book. It is definitely clear enough, but it borders on sounding like it's written for the mentally challenged at times. Personally I would prefer well written paragraphs integrating any info from the "tips" sections, and to do away with the verbose steps, which probably take up half of the book's content.
To make matters worse, the format of the book, like all the Peachpit Quickstart books, breaks the page into two columns, one for text and the other for pictures. This is just poor typography in my opinion, with an average of 6-7 words / line, and it makes actually trying to read what is written very irritating, and it will try your patience. Maybe it's just me, but I really don't like the format of this book at all.
Now, for the actual content of the book. It advocates some things I find questionable in this day and age. For example, in the chapter on Tables, it actually advocates that you use tables for the structure of your website, and CSS for everything else, suggesting that this would be easier than jumping fully into CSS right off the bat. Tables are NOT easier to use than CSS, first of all. Personally, and I think most people would agree with me, tables are not the way to go at all for website structure these days. Yet she uses most of the chapter on tables to explain how to use them for exactly this purpose. Granted I'm sure this is just carried over from older editions of the book when CSS had not taken root yet. But for a 2007 edition book to continue down this path is just bad advice. This is but one example of several where the book advocates using outdated techniques in making websites.
As this book gave me my first formal intro to CSS, I think it actually does a disservice to those wishing to learn to use CSS effectively. It explains the basics such as selectors, properties, and values (although that takes only a page or two to cover). And it tells you how classes and ID's work at a basic level, which is simple. But it doesn't do nearly enough to show you how to write neat and concise markup, so that you don't find yourself adding extra div's, classes, and even style attributes in your markup.
HTML is incredibly simple, but this book treats writing it like a difficult proposition. How many times do you have to be told how to type an element and close it properly? Do we have to constantly be reminded that attributes should be in lower-case and be enclosed in quotations? An HTML book should serve as a reference of HTML elements and common attributes. But many CSS books already include that stuff!
So, what I'm saying is, if you want to learn CSS, just skip this book and get Simon Collison's "Beginning CSS Web Development: From Novice to Professional", an excellent intro to CSS, which I think includes enough HTML that you probably don't even need to get an HTML book. It will tell you everything you need to know about creating a great looking website that is easy to style using concise markup and CSS. That's my opinion. If you feel you need more grounding on some basic concepts of HTML, you can probably find what you're looking for on the web and save yourself the cost of this book.
I'm still giving this book a 3 out of 5 though, because I think it's well-written and does contain a lot of useful, factual information, and it can serve as a good reference. It's just not the best way to go if you really want to learn how to make great websites. If you get it, read the first six chapters, and bits and pieces of some of the others, and then go get a good CSS book!