There are many tasks that you need to do everytime you start a new web project. Some of these tasks are defining the layout of your website, performing a global reset and typography. The Blueprint CSS framework can be used to ease the pain of repeating these tasks all the time.

Blueprint consists of several CSS files which aim to provide you with a foundation from which you can build upon, resulting in faster, cleaner and less error-prone web developemt.

Layouts are achieved using a grid system, defined by the grid.css file. This is one of the more controversial aspects of this CSS framework. As we have all learnt, HTML should be used to markup data, thats all. CSS should be used to define the layout, however, the grid system seems to push some of this back to the HTML. For instance to define what width a given item is you would code:">

The "span-6" attribute value defines that this block will be 6 units in width. Should CSS not be used to define the width of elements?

To be honest, I'm still undecided about how grids achieve their goal. However, I am an advocate of the CSS framework concept. So I hope that people persist with it.