I have been using css reset for quite a while now in different project, and I am quite pleased with it, always get good results.
One thing that always bothered me was that I needed to overwrite a lot of elements, for example clearing the margin of an H2, and later on adding the margin again. Another thing is that a lot of elements are cleared that I do not even use.
Now I have been reading a lot about normalize.css, I also see that the HTML5 Boilerplate uses this as it's default stylesheet. It does not reset everything, it just compensates for browser differences.
If I compare the reset with the normalize I see that in the normalize a lot is left out. One big difference are the headings and paragraphs, they are left untouched in normalize. For all the rest of the elements I see that they are set to specific margins and padding.
So actually the way I see it is as follow:
Reset.css: You begin from 0 and then build your way up. Add your margin, add your styles. You add this above your project and you are ready to go. Minor browser inconsistencies you add along the way.
Normalize.css: You begin somewhere is the middle which is a consistent state in all browsers, and work your way up or down (adding or removing margin/padding) by changing the sheet itself.
Now in the end of your project, you end up pretty much in the same place. Differences I can think of are:
- with normalize you have a stylesheet that is more optimized than the one with the reset as you only have what you need.
- You can't just copy and paste the normalize sheet from one project to another, it is most of the time custom made for a particular project.
In the end, I think you are better of with the normalize script, as it has a smaller footprint.
So is this correct or am I looking at this the wrong way and just stick with the normal reset.