Mám jednoduchý HTML canvas
která pokrývá celou stránku, která se zobrazuje v pořádku sama o sobě.
const canvas = document.getElementById("mainCanvas");
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
window.addEventListener("resize",
function() {
canvas.width = innerWidth;
canvas.height = innerHeight;
}
);
body {
background-color: red;
margin: 0;
padding: 0;
}
#mainCanvas {
display: block;
background-color: blue;
}
<canvas id = "mainCanvas"></canvas>
Nicméně, když se pokusím přidat div
prvek pod ním, okamžitě vodorovný posuvník se zobrazí, i když všechny prvky jsou menší než celková šířka (a tedy tam by neměl být žádný horizontální přetečení). Například:
const canvas = document.getElementById("mainCanvas");
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
window.addEventListener("resize",
function() {
canvas.width = innerWidth;
canvas.height = innerHeight;
}
);
body {
background-color: red;
margin: 0;
padding: 0;
}
#mainCanvas {
display: block;
background-color: blue;
}
#info {
width: 50px;
height: 50px;
background-color: green;
}
<canvas id = "mainCanvas"></canvas>
<div id = "info"></div>
Vím, že můžete opravit problém vodorovný posuvník zobrazující se pomocí overflow-x: hidden
ale chci pochopit, proč se to objeví na prvním místě.