Define your fonts, this is a problem, each browser has different settings for the default fonts, headers (h1 ... h6), respectively. Thus, the actual text height in h1 will be different, and this is the reason for the different fields below / above.
As you can see, the Gecko-based browser uses a kind of Garamond styled font, everyone else uses the default Times New Roman , of course, if the user has predefined fonts for pages, sometimes everything can look the same in all browsers, for example:
h1{ margin: 10px 0 20px; background: green; font-family: "Your-favorite-font", Times, sans-serif; font-size: 2em; }
source share