Pro CSS and HTML Design Patterns

Reviewed August 14th, 2007 @ 09:39AM

[Book Cover] Pro CSS and HTML Design Patterns

Pro CSS and HTML Design Patterns by Michael Bowers is an incredible resource and toolbox for any level web developer. Whether you are just beginning with CSS or are of a professional status, this book has something to offer. With over 300 different design patterns, this book is the perfect resource to solve just about every problem you face. There are patterns for every aspect of your site, and their modular nature give you the potential to combine several of them to create some very unique websites. All of this comes with the added bonus that each of these design patterns have been thoroughly tested in all major browsers. There is great attention to the details throughout each of these patterns.

Contents

This book is not broken down like your typical web development book. The first 3 chapters of this book focus solely on the foundation. The first chapter discusses CSS. This includes addressing many of the common properties and values, different types of selectors, units of measure, and addressing the cascade. Chapter 2 moved on to talk about different HTML design patterns. This section outlines the basic building blocks of any HTML document such as html, doctype, head, body, and many possible elements in between. Chapter 3 moves on to the tricky subject of CSS selectors and inheritance. This becomes important throughout the rest of the book as proper inheritance will play a big role in developing our patterns and keeping our code lean and semantic. None of these three chapters are exhaustive in nature, but they give you a solid base to work with as you read throughout the rest of the book. So, while this book can be used as a resource, if you are just beginning CSS I would recommend not skipping the first three chapters.

Chapters 4 through 9 focus on the different layout options available to you. Chapter 4 starts things off by defining and discussing the Box Model. We look at several different types of the box model including inline box, inline-block box, absolute box, and floated box. Chapter 5 takes things a step further and discusses width, height, sized, shrinkwrapped, and stretched box model options. Chapter 6 addresses all of the editable properties of the Box Model and how they relate to one another. Things like margin, border, padding, background, visibility, and overflow are covered. Chapters 7 through 9 take you from the basic models to advanced layout options. Some of these are more intricate than others, but afford you some great layout techniques. We have built a base, and looked in depth at all of our available positioning models, now it is time to get down to some of the finer details of our layout and how we can style the often overlooked elements.

Chapters 10 through 19 are all focused on polishing each and every piece of your layout. We start by looking at different ways to style your text, how to give your content breathing room and your different alignment options, and gradually move to styling elements such as tables, columns, drop caps, and callouts and quotes. There are several other sections that also discuss block elements and entire layout options. We can now begin to put the pieces of the puzzle together and see how our finished product can become one cohesive whole unit.

The last chapter discusses design patterns for alerts within your layout. This chapter does include some JavaScript, but all of this is made known up-front as you implement any of the given options. We look at different alerts such as JavaScript, tooltips, popups, inline, and graphical. There are several others covered as well, but these are some of the more common ones that developers run into.

Conclusion

This is not a book that needs to be read from cover to cover to fully understand. It is used and designed as a resource to help you solve your design problems. This book would serve as a great desk reference. As stated earlier, each of the design patterns presented in this book have been thoroughly tested in all major browsers. This doesn’t mean everything will work in all situations, but it does mean that each stand-alone pattern has undergone intense browser testing. It is up to you and your creativity to combine and extend them to suit your specific needs.

It is worth noting that this book's contents are also available at the official website. For those who find it hard to read about the patterns and try and visualize them from a page, the website has each and every pattern available for view on the website.

If you are looking for a complete site design solutions book, this is not it—but if you are seeking a book to help you solve many common problems—then this book will serve as a useful tool for you. You do not need to be a CSS professional to find great value in this book.