What are the default margins for the html heading tags (<h1>, <h2>, <h3>, etc.)?
Your Question:
It varies between browsers. Check each browser's specific default stylesheets to tell.
For Google Chrome for example, it's 0.67em
.
A Better Solution?
Do know that if you wish to aim for x-browser consistency, you'll have to use a CSS Reset.
The most common one being:
* { padding: 0; margin: 0; }
Although other (and probably better) exist.
It's different regarding which browser, thus if you want a pixel-perfect design then practice is to "reset" those values to 0 (margin and padding) and set them yourself.
"CSS reset" is very common to front-end developers, a simple example of one i use :
html,body,blockquote,code,h1,h2,h3,h4,h5,h6,p,pre{margin:0;padding:0}
button,fieldset,form,input,legend,textarea,select{margin:0;padding:0}
fieldset{border:0}
a,a *{cursor:pointer}
div{margin:0;padding:0;background-color:transparent;text-align:left}
hr,img{border:0}
applet,iframe,object{border:0;margin:0;padding:0}
button,input[type=button],input[type=image],input[type=reset],input[type=submit],label{cursor:pointer;}
ul,li{list-style:none;margin:0;padding:0;}
strong{font-weight:bold;}
em{font-style:italic;}