I have never really got into using CSS specific frameworks or reset files. Drupal, the CMS I usually build website with, is really web development framework so I didn't see the need to look closer at CSS frameworks. Recently I took the time to have a quick look at what's out there.
z-index changes the stacking order or layering of positioned elements. If no element is positioned then the stacking order gets higher, closer to the front, for each descendant.
Each positioned element that has been assigned a z-index other then auto, creates a stacking context, which may be easier to explain in another context lets use a sandpit. The sandpit is positioned absolutely so the children don't move it an make a bigger mess and has a z-index of 1.
CSS gives web designers the power to style many pages simply and to change the look of a whole site in one place. If you look at a site as a whole you can simplify your style sheets and make them smaller and easier to maintain.
Let's look at the basic structure of a rule to make the rest of the explanation easier to understand.
There are different types of selectors which I am not going into here except to say that you can have multiple selectors separated by a comma.
Choose column numbers, width and colours for your site then generates the valid html and css files to be used as a template for each page. Updated to support HTML5, November 2010.