【发布时间】:2021-04-11 10:08:08
【问题描述】:
我使用全屏画布作为页面第一部分的背景。但是当我添加第二部分并出现垂直滚动条时,画布的高度会降低一点并且出现间隙。这是我的代码:
P.S:对不起,我的代码包含错误,我已修复它们。现在您可以看到红色间隙了。
var canvas = document.getElementById('canvas')
var c = canvas.getContext('2d')
scaleCanvas()
window.addEventListener("resize", scaleCanvas)
function scaleCanvas() {
canvas.width = window.innerWidth
canvas.height = window.innerHeight
c.fillStyle = 'black'
c.fillRect(0, 0, canvas.width, canvas.height)
}
* {
box-sizing: border-box;
max-width: 100%;
}
body {
margin: 0;
padding: 0;
}
#first-section {
position: relative;
min-height: 100vh;
background-color: red; /* to see the gap */
}
#content {
position: relative;
z-index: 2;
}
#second-section {
min-height: 100vh;
background-color: blue;
}
#canvas {
display: block;
padding: 0;
margin: 0;
border: none;
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
<div id="first-section">
<canvas id="canvas"></canvas>
<div id="content">content</div>
</div>
<div id="second-section"></div>
【问题讨论】:
-
你能再添加一些代码吗?,这里我看不到你指定的问题
-
哪个浏览器?在 Firefox 中,我同时获得了垂直和水平滚动条,但只有在较大的视图尺寸下。
-
你的代码对吗?我在 CSS 中看到 id="first-section" 但只有 .first-section 。如果您可以制作一个显示问题的有效 sn-p 会很好。
-
@AHaworth 你是对的,我很抱歉这个错误。我修好了。
标签: javascript html css html5-canvas