A lot of tags in HTML have padding and\or margin applied by the client (browser). Each browser handles this spacing in a different way. So what I like to do is zero everything out and apply my margins explicitly myself via css. I don't know how familiar you are with CSS, but try this bit of css
h1, h2, h3, br, p {margin:0;padding:0;}
The above just zero's out a few things, you could add more or take some out as you see fit. After everything is zeroed out, take a look at how it looks and add back in margin and padding as necessary with a second block of code that follows the first (order is very important) that sets the margins and padding.