I don’t like reset styles. (And I’m not the only one.) Instead I’m a fan of good basic styles.
Don’t get me wrong, reset styles serve their purpose. They are good for beginners and many intermediates and can save them a lot of trouble. It’s better to use reset styles if you’re not sure why basic styles might be better than not to use any of those two concepts.
Reset and basic styles alike should serve as a reminder to overwrite browser presets.
I don’t see the reason why you might declare, say, the first headline to have no margin (h1 {margin: 0;}
), only to redeclare it to have a bottom margin (h1 {margin-bottom: 1em;}
) a few lines later.
Basic styles should set all styles instead of resetting them. In order to make reset styles unnecessary, you only need to make sure to style every element and their necessary properties which browser default styles might add. And declare everything else that makes sense in your case.
So, ideally you should set and reset what you need at the same time. That’s what I’m doing with my basic styles.
Most of these styles are quite universal. I tried to keep them as generic as possible (e.g. with many shades of grey). But they are not meant to be taken without adjusting them to each project. You most likely want to change everything I marked with “§font”, “§fsize” and “§colour”.
They are already part of my DokuWiki Starter template and are will therefore be part of the new (soon to come) DokuWiki default template. I will provide an always up-to-date version apart from the following current version (2011-05-08): I will maintain them as basic.css on GitHub.
As I am constantly learning, these styles are subject to change and improve. What will be added at some point: Basic styles for HTML5 and printing.
If there is any interest, I could explain most of my reasons for nearly all of the styles in subsequent posts.
Update (30 September 2012):
I just updated and moved the project to GitHub and updated the article accordingly.