【发布时间】:2021-12-31 15:28:53
【问题描述】:
我有一个简单的 HTML canvas,它覆盖了整个页面,它本身可以很好地显示。
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>
但是,当我尝试在其下方添加 div 元素时,即使所有元素都小于总宽度(因此不应该是任何水平溢出)。例如:
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>
我知道我可以通过使用overflow-x: hidden 来解决出现水平滚动条的问题,但我想了解它首先出现的原因。
【问题讨论】:
标签: html css canvas html5-canvas