I've been asked this several times lately: "Why is X element not in the same position in IE and Firefox when I set the margins &/or padding."
To put it simple every browser has it's own default style sheet...so at the start of your style sheet zero the margin & paddings out like this.
Now when you go through and make a class for some elements and start using margins and padding you won't have to worry. Of course you only need to zero out the ones you're using...no since in a useless line.
Here is a global reset but last I checked it messed with the form elements in firefox.
Oh yeah if you are one that uses;
/* whatever browser */
*margin:whatever; (or what ever you used to compensate)
You'll want to remove those because there won't be a need.
Well this should eliminate the majority of your alignment issues cross browser.
While you're at it....throw img{border:0} in there two. I hate when I see border=0 for every image file..
To put it simple every browser has it's own default style sheet...so at the start of your style sheet zero the margin & paddings out like this.
Code:
html,body{margin:0;padding:0}
p{margin:0.2em 0 1.2em;padding:0.3em}
h1{margin:0 0 .7em 0;padding:0}
h2{margin:0 0 .7em 0;padding:0}
form {margin:0;padding:0}
div{margin:0;padding:0}
ul {margin:0;padding:0}
Now when you go through and make a class for some elements and start using margins and padding you won't have to worry. Of course you only need to zero out the ones you're using...no since in a useless line.

Here is a global reset but last I checked it messed with the form elements in firefox.
Code:
*{margin:0;padding:0}
Oh yeah if you are one that uses;
/* whatever browser */
*margin:whatever; (or what ever you used to compensate)
You'll want to remove those because there won't be a need.
Well this should eliminate the majority of your alignment issues cross browser.

While you're at it....throw img{border:0} in there two. I hate when I see border=0 for every image file..