
Limitless DepthIf 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.
Unequalled CSS depthAn 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.
A great resource, no matter your level of CSS knowledgePro 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.
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.
Great Resource - Too many SPAN tagsThis 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.
A reference book and a cookbook...This book 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 code. Each pattern can be combined with other patterns to create an unlimited number of solutions. Each pattern works reliably in all major browsers without the need for browser hacks.
The book shows how to:
- Code CSS and XHTML
- Turn HTML into XHTML
- Use CSS Selectors
- Use six CSS Box Models
- Create rounded corners, shadows, gradients, sprites, and transparency
- Replace text with images without affecting accessibility
- Style text with fonts, highlights, decorations, and shadows
- Create flexible, fluid layouts
- Position elements with absolute pixel precision
- Stack elements in layers
- Size, stretch, shrinkwrap, indent, align, and offset elements
- Style tables with borders and alternating striped rows
- Size table columns automatically
- Integrate CSS and JavaScript without embedding JavaScript in XHTML
- Create drop caps, callouts, quotes, and alerts
The book is laid out in facing pages with a pattern's example on the left page and its explanation on the right. This makes it easy to find a pattern and to study a pattern's example and its explanation without having to flip between pages. The book is also readable from cover to cover with topics building carefully upon previous topics.
A software developer can use this book to learn CSS for the first time. A designer familiar with CSS can use this book to master CSS and XHTML. If you are completely new to coding or completely new to CSS and XHTML, you may want to read an introductory book on CSS and XHTML first.
You can interact with all the examples in the book at www.cssDesignPatterns.com.
unhelpful format and poor editingThere is some useful information in this book, but the author's rigid adherence to the format works against the presentation of it. I find that Andy Budd's book (CSS Mastery ...) is a much better book. They seem very different but I think that many developers will read them needing the same information.
Further, as is becoming more and more the case with new apress titles, the copy editing is substandard. It's a pity, as apress had such a good reputation for quality books, and this kind of thing is hurting them.
best css book i bought so farHi there,
when it's about css book i must have the all ,i love css book. I always learn something new somewhere.
Some books disappointed me like "Transcending CSS", by Andy Clarke. I love this book anyway, i said it i love css book, but it wasn't hands on enough for me.
Hands on is exactly what "Pro CSS and HTML Design Pattern" is. You can find in this book a solution or an inspiration to any problem you ever encountered while learning or working with css. The structure of the book make things easy to browse and focus.
And it's real world solutions, you've got your html structure and the css explained.
Some of it seems very simple,and when you start reading it you go like How, did i bought this book for this. But the secret is that i break down any css property and buid up into more complex behaviour.
There is very nice section on the box model and how the different type of box models behave.
and it goes into neat little details as well.
i don't know about you , but i cried my eyes out for mozilla browser do not support display: inline-block. Now i know that there is a display:-moz-inline-box property which work almost same (but not quite).
so if you can't still really use it for advanced layout and browsers compatibility problems (internet explorer as usual), well you have a design pattern to emulate this behaviour with a bit more mark up but nothing's perfect.
I really love this book.
Changing thought processThis book is an excellent work. Its content is flowed logically and thoroughly. That said, I would recommend it for relative newcomers to CSS in that it really is a new way to think about CSS programming. People who have been using CSS for some time might find it requires their "unlearning" some coding procedures in order to "relearn" some new methodologies. Even so, I find the book an excellent addition to my ever-expanding CSS library what with CSS being such a fluid technology.
An end to your browser-compatibility woesI 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!
Effect-based SolutionsI found this a brilliant product. It delivers techniques to achieve individual *effects* so you can use it straight away. Each effect is explained through the use of screenshots and text, and the book provides the combination of CSS/HTML/Javascript required to make it work. Great when you need a complete answer to solve a specific problem in a hurry.
My other favourite CSS book is "The Art and Science of CSS". This breaks down styling tasks by topic such as Forms, Tables, Navigation, and Images.
Lots of light bulbsThose who understand CSS will find a trove here. One may trudge through other one true holy grail bulletproof designs. They have their place.
Then, leap, at last, into this book. It's been sitting on your bookshelf, perhaps, undeservedly ignored, for a week? You peruse. You find the page for your problem. You read, carefully. A light bulb! "Of course," you may think! Or, "He's telling me, what I SHOULD have known!"
Yes, but, everybody needs SOMEONE to gather these essential prods. Here they are, distilled, a fine essence. Rock solid. No fluff. Problem, stated clearly; solution, stated plainly; sample code, crisp. Just what you need. Terse. Precise.
the css genie"Pro CSS and HTML Design Patterns" is a valuable reference for using CSS on your website. You should be familiar with reading or writing CSS and have some experience with HTML for this book to be readable. In particular, you should feel comfortable with CSS syntax and high level concepts.
The book is still useful if you know CSS "a little" - you may have to read parts a few times. In particular, there are a few places were terms are defined after they are used. It's a bit of a catch 22 for the author as introducing those terms rely on the initial sections. There aren't many of these and all becomes clear by reading the patterns twice.
I liked the style of having code/screenshots on one side and the pattern/description/limitations on the other side of each two page set. This consistency made the book easy to follow. I particularly liked the emphasis of making the patterns accessible to people using different browsers, screenreaders and with Javascript disabled.
Some of the design patterns are teaching patterns to understand concepts and terminology. The rest are techniques you could want to use when designing a web page. Some techniques are self contained like styling text. The end of the book builds more complex patterns out of those that came before. The box model and layout ones are quite valuable.
The companion website lets you play with each pattern. In summary: buy this book!
Takes CSS to the next levelI often rely on readers reviews before making a purchase so I thought it appropriate to give feedback on this book.
I am a self-taught programmer who needed to take my CSS knowledge to the next level. This book clearly sets the bar high and helps me get over it almost daily. The models depicted are extremely accurate and on point, and foster a wealth of ideas that extend to some really nice models. Mr. Bowers research and implementation on cross-compatability between browsers is nothing short of excellent (a big learn for me). The style in which the book is written makes it easy to follow and learn from, as well as reference. As a new programmer, I am extremely pleased with this book as it has taken me to the next level of CSS.
I would recommend this book to anyone who, like me, has a general knowledge of CSS and wants to fine tune and hone their skills in CSS.
What you need for a CSS/HTML Desk Reference!This book is a nuts and bolts CSS/HTML reference book, that you'll be pulling off the shelf frequently, when editing stylesheets and web pages.
Each entry is presented in this clear, practical and timely format, that allows skimming straight down to the section you want (borderless table format, not inline paragraphs):
Problem
Solution
Pattern
Location
Limitations
Advantages - (Some entries)
Disadvantages - (Some entries)
Example - (Some entries)
Tips
Related to - (Some entries)
See also
It doesn't waste your time with 1001 details of each tag, yet does give you the essentials you need to know about each tag (some entries have screenshots of the examples, mostly in Firefox, but some in IE7), so you can get to work quickly -- and not get bogged down by the hyped cheerleading, that fills many of these CSS/XHTML books these days.
Would've given this book 5 stars if the author spent more time with cross-browser support other than a few tip suggestions, especially with IE 7, as it uses conditionals instead of hacks to get around the box model SNAFUs. Cross-browser troubleshooting is essential, and not an after thought to be addressed with about 20 words -- more time is spent debugging than actually writing code, and it needs to be addressed accordingly.
Overall, this is the best CSS/(X)HTML reference book I've found to date. It's due to the presentation format above, that doesn't have you trying to find some remote reference in microprint, in a sea of 500+ pages!
A decent book about CSSThis book improved my understanding of CSS despite the fact I though I had known CSS quite well.
Pro CSS and HTML Design Patterns The book is well thought out and goes through most all of the things that you will run into when laying out a page. Some of the code runs into validation issues with W3C but it can be made to validate. The basic idea of "Inheritance" patterns is a good one. If you have read some other design pattern books for other languages, the idea of structure and thinking your way through before you start tapping the keys should be familiar. I have been designing sites since 1997 and with all things considered, I would give this 4 stars.
Pro Css and HTML Design PatternsI found Pro CSS and HTML Design Patterns by Michael Bowers to be of real help in developing drop down buttons for my web dev client. Mr. Bowers makes many complex css styles easy by providing all the formulas. I recommend it highly.Pro CSS and HTML Design Patterns
Awesome book, awesome referenceThis is a great book for a number of reasons. Primarily, it's accessible and a quick reference. The book is succinctly written and very well focused.
Each topic is summarized in a small segment. In minutes you can find things if you're totally new to CSS. Likewise, seasoned web developers can find the tricks and techniques that let you exploit your web page development.
Practical bookHi
I have read about half the book and I find it very interesting and very practical. The book gives you patterns and approaches to solve the problems which designers confront daily. The index is also very helpful at the back, which points me straight to the solution of the problem which I am seeking. When compared to other books, this gives more than what every other book is giving, which I have seen. Generally all CSS books give various properties of the html elements, its possible values etc. While this book, has a different approach. This book discusses the affect of changing these element properties based on the context where the element is placed. It has very good discussion of the box model concept and positioning concepts.
Till now, I have loved this book and has become my reference for all my css needs.
Great Approach For Programmers Wading Thru CSS selector and property elementsDefinitely not a first css beginner's book. But, for advanced programmers who think that since they know several languages learning CSS will be easy and then find out....not so much.
This author presents the most complete presentation of all of the interactions between html properties and css selectors I have seen in any one book. Rather than just listing definitions of each element, but going into the myriad of effects that almost all selectors have applied to each property.
He brings programmatic design pattersn to his presentations which is of some use but; the most important thing is he takes a very systematic and detailed approach to the interactions stated above.
IMHO, i would take reviews too focused critically on the use of span tags in the examples with a grain of salt or two. Once you understand interaction between all of the specific CSS selectors and property elements (not that I'm there yet) you can of course use span tags for only presenting inline markup elements.
The real beauty of this book to me is the detailed coverage of the affect of each and every selector (that is applicable) to each and every property element and thus one learns to think outside the box..model.
Very good for people that don't like HTML/CSS/JSThis book will stay on my bookshelf forever because it gives me a working and practical solutions to common problem related to HTML. Personally I hate all that HTML/CSS/JS stuff but as server-side programmer I have to control how the various browser will render my code. With this book I can save my time on real problems and get ready-made solution.
Solid information with Web demos.I use a book like this for reference. The information is current and examples of the various CSS designs are available online to view. A good reference I would recommend to anyone who is interested in using CSS designs.
Great help for doing CSSAs a CSS newby I found this book to be an excellent help in using CSS. It's packed with examples and clear, detailed explanations of how to accomplish almost everything you could think of using CSS.
A unique and invaluable referenceI am an intermediate-level web design/developer wanting to move to full separation of markup from styling and layout. I was intimidated by this book at first, but finally decided to plunge in and go through it page by page. I cannot emphasize how much I'm learning (I'm only half way through.) The explanations are sometimes a bit dense, and you do have to keep at it (along with viewing and playing with the example code and styles) but you WILL "get" it. The author has organized the topics in a brilliant sequence for learning purposes, and summarizes information in incredibly helpful and often unusual ways. I'm making myself notes as I go along, and marking pages that I'll need to go back and review if/when I want to use a particular technique. Once you've grasped the basics of CSS (and of course X/HTML) this seems like really all you need to become truly proficient, perhaps with Eric Meyer's CSS - The Definitive Guide as backup. But you'll have a tough time if you try to use this as an entry level book.
Pro CSS and HTML Design PatternsThis is the book to buy for those who want to take it to the next level. So many great thing about this book. If your a novice and want to step-up your design prowess this is the book for you. One review said - "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.." I say - very well said.. It's limit-less... I love it!! Wicked!
