My page is just a tag with an in it. When I set the background-color of the to black, there is a weird gap between the black background and the page border. Setting the padding and margin on all sides to 0px does not help. Why is this?
#homeHDR {
background-color: black;
}
<header id="homeHDR">
<h1><span id="blueSPN">Papyrus</span>Note</h1>
</header>
2
Answers
There will be a duplicate out there somewhere for this.
body
has a default margin, generally of 8px. Remove it and your are goodSomewhat more important than this code is getting to know the tools at your disposal. All desktop browsers these days have some variation of "Developer Tools", commonly accessed through f12. Through these you can inspect elements to see that styles have been applied to the elements. By inspecting the
h1
you will see where the vertical spacing is coming from.The
<body>
and<h1>
tags have a default margin, so resetting them will give you the expected result without any borders:Be careful though. You might only want to reset the margin for the
h1
tag that’s inside theheader
to get rid of the ugly border at the top, but not otherh1
tags found inside the page (even though that’s discouraged). So maybe, you want to have a more specific selector for thath1
, e.g.#homeHDR h1 { margin: 0; }
.As Jon P correctly pointed out, the
Inspector
andElements Panel
in theDevTools
are the only way to safely detect why these layout issues are happening, e.g. in your case which elements create these spaces, by hovering over the elements.Margin from
body
:Margin from
h1
: