I am trying to understand a few things.
First question:
Why is there a margin-top on the body ?
html { height: 100%; background-color: red; } body { height: 100%; margin: 0; background-color: yellow; }
<h1>Hello Plunker!</h1>
If I look with the help of the developer tool inspector in Chrome, it shows me that the top field h1 starts beyond the top edge of the body (the image shows the selection h1 ):

Second question:
In the following example, why is yellow painted outside the body ?
I expected to see yellow only inside the body element, given that I set the overflow property:
body { height: 100px; background-color: yellow; margin: 0; overflow: hidden; }
Third question
If I add the background-color element to the html element, it works, yellow only fills the body element, why?
html { background-color: red; } body { height: 100px; background-color: yellow; margin: 0; overflow: hidden; }
source share