Beginning CSS Web Development: From Novice to Professional

Reviewed September 17th, 2006 @ 07:56PM

[Book Cover] Beginning CSS Web Development: From Novice to Profesional

Beginning CSS Web Development by Simon Collison is the perfect beginners guide to CSS. As the subtitle says, ‘the book is about taking you from novice to professional’ by the time you are finished. This book is laid out very well, and moves at a perfect pace. Now, for those who are advanced CSS developers — this book is still a great book to have as reference to different aspects or topics. I agree with Simon, in that I wish I would have had a book like this when I started using CSS a few years ago. It would have saved many headaches and late nights of figuring things out the hard way. Here are some of my thoughts after reading the book:

  • The book’s pace was perfect.Simon did a great job of breaking this book into two major sections. The first section is comprised of understanding CSS. It starts with a very brief discussion of CSS and some core concepts. He doesn’t dwell on this, though, and dives right into the meat of the book. Some of the different aspects discussed were styling text, backgrounds, colors, images, lists, links, and tabular data. Each having its own chapter to discuss the basics.

    The second section gets into more advanced CSS. It discusses positioning, floating, layouts, templating, usability, accessibility, and some tips and tricks. Each of these given a good amount of time with some great examples. The end chapter brings it all together with a case study, a very interesting case study to say the least (you’ll just have to read the book to check it out).

  • Styling of headers left me thinking about a few things. I agree with his approach, in using an actual image in the markup (since it is content). The flip side would be using image replacement — but then losing any textual representation or alt attribute if images are disabled and CSS is still active (unless you implement Richard Rutter’s method with some JavaScript). With his style of setting up templates and reusable CSS — it would be tough to update h2 images over an entire site when updating a template, design scheme, or even typeface (depending on the size of the site). This discussion has been had many different times, and I am not sure I am completely settled on one specific solution for image replacement. So, he gives the best solution for a beginner — I was just left wondering if there was a better option.

  • Styling of forms is something that is super tricky, even for the advanced CSS developer. He does a great job of covering three different approaches (table, using a combination of p and br and finally using a definition list). The tricky part is: What is the best solution? He gave the answer I would have given, in that it depends on the job and the needs. Lately I have been very prone to using a definition list to style some of my basic forms (contact, newsletter, etc). I believe this does a great job and gives great flexibility. Some would say that it is not a proper use of the definition list, but I would beg to differ. I think there are many uses for the definition list. Simon walks through each, giving you a base form template, and then using the cascade to style via the other methods.

  • Frustrations in CSS often lie in the confusions of browsers, hacks, and filters. Dealing with the different quirks in the different browsers makes things complicated (at times). I believe the best thing to do is to understand how each browser renders different elements with it’s default stylesheet. Simon discusses some of these differences, and then shows how to override with the cascade to get the desired results (IE: zero out margins and padding). I have always felt that using hacks was simply not the best option. Simon agrees with this, but at the same time shows how to manage hacks and filters — with descriptions of each and their workings (how they manipulate the browser bugs, etc). This discussion, coupled with his beginning chapter of managing your style sheets will ultimately help you to keep your CSS clean, organized, and protected against future browser fixes. Simon makes this process easier by explaining best practices and showing solutions.

This book is full of much more information, and I even learned a few things myself (I was not aware of the content: property and how to use it with a:after). If I were just starting out CSS — I truly believe this book would have been the perfect starter. Not only did Simon cover the basics of CSS styling, managing your CSS, and using CSS for advanced layouts — he also encouraged me to drink more tea. My evenings consisted of banana bread, some peach tea, and Beginning CSS Web Development. I think the tea helps you understand the chapters better, therefore making it a necessity.

For those beginning CSS and looking for the perfect book, this is it. Having read CSS Mastery by Andy Budd and Bulletproof Web Design by Dan Cederholm, I can say that all three of these books work very well together. If I could recommend a sequence, it would be to read this book first, followed by Bulletproof Web Design, and finally CSS Mastery. All three books are great, and all three serving a different purpose and audience.