htmlにスタイル指定を行うと背景画像の位置がずれる

CSSのコードは、

html {
  margin: 0;
  padding: 0;
  color: #000000;
  background-color: #ffffff;
}

body {
  margin: 0;
  padding: 0;
  background-image: url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%03%00%00%00%03%08%02%00%00%00%D9J%22%E8%00%00%00%1BIDATx%9C%25%C5!%01%00%00%00%02%20%3F%F9%7F%1B%06)%04h%9B%87%3C%0C(%04%13%BA%AD%DE%22M%00%00%00%00IEND%AEB%60%82");
}

なので、背景画像は左上隅から並べられると期待されるが、実際にはそうならない。marginの相殺に関わる振る舞いな気がする。

htmlからスタイル指定を取り除くとちゃんと並べられる

背景画像が左上から並ばないのはmarginの相殺に関わる振る舞いなので、bodyにborder-topをつけると左上から並ぶ

htmlのbackground-colorの値がtransparent以外だと起こる。