I picked up a copy of Elisabeth Robson and Eric Freeman’s Head First HTML & CSS
(O’Reilly, 2012) as schwag at a conference I attended1; judging this book by its cover, I was pretty clearly not the audience for this book but hey: when have I turned down a book?
So who is the target audience for this book? It’s definitely for “absolute beginners” re “programming”2 for the web with HTML and CSS. Which isn’t to say that it isn’t without its merits. And as far as beginner books go, this is a good one.
What worked well? First of all, Robson et al.’s general approach–providing hands-on exercises (which is framed as “client work”, to boot) and illustrative thought questions. This approach provides a good way to introduce the fundamentals and gradually layer more sophisticated concepts on top of that. One thing that I was particularly pleased to see was that they did not shy away from arguably “complex subjects” like the box model, page flow, doctypes, and selector inheritance.3 I feel like a lot of these concepts are missed by many early stage self-taught web developers, so getting these subjects in front of web novices in such a matter-of-fact fashion is a big win.
What didn’t work so well? First off, once they introduce the notion of an ID selector, they make pretty liberal use of it throughout the rest of their examples. I get the sense that this is done for expedience, but it’s a pet peeve of mine to take such shortcuts especially when you’re trying to teach people new to the field. (Why not show them “the correct way”?) There’s no real explanation for why you shouldn’t lean so heavily on ID selectors–but I suppose that discussion is outside the scope of the book. The second problem I had with the book was that they seemed a bit inconsistent with the kinds of warnings they gave. Most of these sidebar warnings seem to be about browser compatibility, but it seems like some gotchas go unmentioned. For example: there’s a multi-page treatment of the
video element and all its complications, and there are some warnings about “older IE” (e.g., how it doesn’t handle certain text scalings in predictable ways) — but I don’t recall seeing warnings about how IE flubs the box model in quirks mode, nor how display tables aren’t supported in “older IE” either.
Nevertheless, I found myself wishing that I’d had this book for when 20 year old me was learning all of this stuff. It would have been nice to have a singular resource like this, rather than “doing it the hard way” and wading through Goodman and Meyer and Flanagan… One book with a solid foundation on the fundamentals of page flow, selectors and inheritance, positioning, etc.
That being said, please don’t fool yourself into thinking that you’re a “web developer” when you finish this book. You’ll be able to bang together some halfway decent static pages–and maybe that’s totally sufficient for your needs. But this is really just a 101 course4 in everything else that comes with the territory of being a front-end developer.
★★★★☆ for the target audience; ★★☆☆☆ for everyone else.
Disclosure: I received an electronic copy of this book from the publisher in exchange for writing this review.
- This was a VT Code Camp, actually. And I spoke there. But that’s beside the point. [↩]
- I use “programming” in quotes here because, as any professional web developer knows, “doing” mark-up is not “programming”. More/less the same goes for styling with CSS. Which isn’t to say that there’s nothing to learn, or that there aren’t difficult parts, just… get back to me after you’ve finished coaxing something out of O(n2). [↩]
- Not that they went super deep with any one of these subjects, but introducing them at all is a good start. [↩]
- And even then, it’s more like… the reading you should have done in high school before getting to the 101 course? The summer selections that you need to have done before the first day of class? Something along those lines. [↩]
About Rob FrieselSoftware engineer by day, science fiction writer by night. Author of The PhantomJS Cookbook and a short story in Please Do Not Remove. View all posts by Rob Friesel →
2 Responses to review: Head First HTML & CSS
Thanks for your review. Yes, we are very clear in the front of the book that it’s for absolute beginners!