The problem can be found here: margin-top
problem.
The solution is actually quite easy. Use padding
instead of margin
.
This problem doesn't occur at all when you apply a border
to the div#header
.
When you are writing style sheets, you might consider to set the margin
and padding
properties for every element that has a default margin
and/or padding
style set by the browser. That includes every element except DIV and SPAN (or any other element with display:inline;
as default style). That could look like:
h1{
margin:0;
padding:.2em;
font-size:1.5em;
}
p{
margin:0;
padding:.3em;
font-size:1em;
}