• ISBN13: 9781590598047
  • Condition: NEW
  • Notes: Brand New from Publisher. No Remainder Mark.

Product Description
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. — Nate Klaiber Pro CSS and HTML Design Patterns is a reference book and a cookbook on how to style web pages using CSS and XHTML. It contains 350 ready–to–use patterns (CSS and XHTML code snippets) you can copy and paste into your co… More >>

Pro CSS and HTML Design Patterns

5 thoughts on “Pro CSS and HTML Design Patterns”

  1. An analogy for comparing this book to other CSS books: if other books are 2-day seminars then this book is a full fledged college course. This book takes a rigorous, organized approach to teaching you how CSS works whereas most CSS books take a “here’s what you need to know” approach. It is not difficult, but it does take time to read the entire book and you cannot skip parts of the book or it won’t make sense.

    First, if you only read pages 70-71, then you will have gotten the value of the price of the book. Michael is the first and at this point the only person that I’ve seen figure out an approach very similar to O-O inheritance (not CSS hierarchical inheritance). His is example uses a button class and 3 sub-classes, whose rules are written button.square, button.rounded and button.go. This is an invaluable technique. Other sites have always said that “you can’t do O-O inheritance in CSS”, but he has come up with a simple way to do it.

    The difference between this book and others is that he organizes CSS into a methodology that no one else has. He organizes it into box model type, box model extent and box model placement. These are the authors categories and not explicit CSS categories (though they can be said to be implied by the CSS standard). He then goes about showing you every combination of how these work together, why each is useful and their limitations, including browser limitations. It’s very dry reading, but you get a grasp of CSS that you wouldn’t get otherwise. For example, I always had difficulty with centering items in CSS, because it would work sometimes and not other times. In other books and on the web, I would find centering “hacks” that usually involved text-align: center, but never really understood why CSS didn’t have a way to center items. It turns out that CSS does have a way to center elements, but you have to know which type of box model that you’re working with as well as its limitations ( horizontally shrinkwrapped elements cannot be centered and IE6 cannot center absolute elements).

    I highly recommend this book, but only if you are willing to commit time to learning it thoroughly. This is not a “get you up and running in 30 minutes” type of book.
    Rating: 5 / 5

  2. 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.


    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.


    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.

    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.
    Rating: 5 / 5

  3. If ever you found yourself wishing that every single possible combination of CSS properties was documented in one comprehensive volume, the solution has just arrived. Pro CSS and HTML Design Patterns is just that, a huge guide to each and every HTML and CSS combination you could possibly think of. Floats, clearing, 6 types of box models, absolute and relative positioning – it’s all there. Just as with programming, using coding conventions and understanding recurring combinations can help speed up the entire production work-flow.

    I am always drawn to the page which describes a book author. Somehow, knowing a bit of background info helps me peer into their thought process as I read the book. In this case, the author Michael Bowers is an accomplished pianist and has a PhD in music theory. It is interesting, because just as notes and pauses can create song, so design elements and whitespace create page layouts. Michael has brought that same sense of composure to this book, describing the intricacies of code interaction and inheritance.

    He has done a great job of encapsulating many possible page layouts, through having conducted thousands of test cases, paring them down to the most stable, cross-browser compatible solutions. This has resulted in over 350 readily usable design patterns. These can be combined to create limitless possibilities for your own work. Most experienced front-end architects will find themselves agreeing with a lot of the principles that are covered in this book, and for those just starting out, it will bring you up to speed on what you need to know.

    There are several examples which incorporate JavaScript, but most of the book focuses on practical, real-world application of HTML and CSS, the bread and butter of all professional web developers. I wish that this type of resource had existed when I was first learning the ropes. It would have saved me countless hours of frustration learning how various aspects of CSS interact, and trying to figure out why Internet Explorer doesn’t seem to get it right.

    One of the awesome things about this book is that Michael has made all of the examples readily available on the companion site, with the topics broken out by chapter. So, rather than give you a laundry list of what’s in this book, I will simply point you there: cssDesignPatterns.com. I really can’t say enough good things about the book. If you’re not already a CSS guru but want to achieve a higher level of proficiency, I’d recommend checking it out.
    Rating: 5 / 5

  4. This is an excellent reference guide for CSS, especially for those frustrated web developers out there who are struggling with what seem like impossible-to-solve issues.

    Bowers presents some incredible insight into CSS as it is used to style every element on a web page.

    However, he uses a huge amount of SPAN tags to accomplish many of the examples he has in the book, which defeats the purpose of coding a semantically-correct page. Instead of separating content and presentation, his examples *add* presentational SPAN tags, which clutter the code.

    I understand that these are simply examples, but in order to use the examples listed in the book, you have to utilize the SPAN tags for much of the effect, which is unfortunate.

    CSS delivered the promise of separating content from presentation, but the implementation was flawed amongst browser manufacturers, leading to developers creating pages with bloated code that embedded presentational elements amongst their content. This makes upgrading that code and/or the design of the site harder to do, as you are stuck with potentially useless tags.

    I would give this book 5 stars if not for the excessive use of SPAN tags to achieve many of the effects in the book.
    Rating: 4 / 5

  5. I purchased this book in an attempt to fill in some gaps in my knowledge mainly pertaining to browser compatibility issues with CSS. I often create template for web pages using CSS and XHTML based on Photoshop designs. In my experience, creating sites for Firefox has been pretty smooth but getting things to look right in IE, especially IE6 has proved to be quite a challenge at times. This book is great in that it clearly specifies what is and what is not supported in various browsers.

    All of the code was written for and tested in all browsers which is exactly what I needed. I also learned quite a bit about positioning with the box model. I was doing a lot of things wrong…for instance, I was using a lot of relative and absolute CSS positioning instead of working within the boxes and using margins for positioning. This method is MUCH more reliable!

    After reading this book, I’ve been able to successfully create robust templates that are expandable, highly compatible and display properly among all major browsers, including Opera and Safari.

    It’s kind of a tough read at time simply because it is so technical but I definitely recommend this book!
    Rating: 4 / 5

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.