Blueprint: A CSS Framework
blueprintcss.org
blueprintcss.org
Or, rather, is there something inherently nice about using grids for translating design to markup? It just seems like the framework adds a lot of code and styles that you're never going to need or use on small-to-medium sized projects. Thoughts?
No, not really.
> is there something inherently nice about using grids for translating design to markup?
Only if you want your markup tightly coupled with page layout.
That way, I can usually use most of their defaults and can spend more time coding.
So it is really nice for me on small projects where I just want it to look decent without much effort.
But be carful: using blueprint as they recommend litters your markup with pseudo "inline style" classes. If you are a stickler for clean html/js, there are tools that compile blueprint into your custom css classes and ids. Compass is a great one for rails. I think blueprint also has built in tools for this now as well.
One downside you will quickly notice is your markup becomes much less semantic and a lot more cluttered with CSS classes. This is simply by virtue of how all "grid" CSS frameworks like this work - they set up a ton of generic styles that are impossible to be symanticized. With blueprint you start to see a lot of classes that look like "span-XX last" or "push-XX" or "pull-XX".
There are a number of ways to get around this, however. The first is a tool that comes with blueprint that lets you set up a yml configuration which maps semantic ids to these generic CSS classes. For instance you can say "#footer => span-24 last". This will then generate the CSS in a semantic manner so you can continue using id references in your XHTML.
The second way, and this is the approach that I would highly recommend, is to go ahead and use some sort of CSS metalanguage/compilation tool such as SASS (Syntactically Awesome Stylesheets - http://haml.hamptoncatlin.com/docs/rdoc/classes/Sass.html). Chris Eppstein has done a fantastic job with the Compass CSS Framework (http://wiki.github.com/chriseppstein/compass) which builds on top of SASS, which allows you to do really amazing things with CSS.
The compass framework he has built allows you to do things like define CSS constants (colors, font sizes, etc), perform unit arithmetic, as well as define abstract classes or groups of properties called "mixins" which allow you to abstract out a lot of your repetitive CSS properties. It is also a whitespace sensitive DML which makes the highly nested nature of CSS selectors a breeze to work with. It also already comes with modules for blueprint and other grid frameworks!
I would check out his talk about it here if this sounds interesting to you:
HTH!
and here:
I'm pretty happy with it. I regularly tried to do my own CSS, coming up with something I thought didn't look half bad, and people would tell me it looked awful, so I figured it was best to just use something out of the box that looks 'ok' to most people.
My rules for judging CSS frameworks are: "They should pick something, do it perfectly, stay clear of everything else," because fixing just an aspect of someone else's CSS is such a punishing experience. Blueprint fails all three of these requirements, bundling grid, typesetting, form, print, and templates libraries together, not implementing them all perfectly (well, duh), and not staying out of my way when I don't need one or more of these features.
My current favorite grid implementation (and attendant design philosophy) is OOCSS. I highly recommend everyone check it out and absorb the knowledge presented there: http://wiki.github.com/stubbornella/oocss
What do others think?
We really need a programmer-friendly abstraction layer over the mess that is CSS.
I find that it saves me A LOT of time when doing sites that fit the grid style, which are most. It's out of the box functionality really shines when you realize you don't need to play around with floats, margins, and other CSS "tricks" to get your CSS layouts working across browsers.
The biggest issue I see with 960 vs. Blueprint is that I believe Blueprint will allow you any width you'd like. Resizing 960 probably isn't a huge ordeal but it's not as simple as in Blueprint.