javascript - 使用 window.innerWidth 和 window.innerHeight 使滚动条出现
问题描述
我正在尝试制作一个简单的画布,它可以自行拉伸以完全填充视口,但我不希望出现滚动条,如果我尝试在 JS 中使用window.innerWidth
and调整画布大小,就会发生这种情况window.innerHeight
。
注意:我不想在 CSS 中调整画布的大小,因为里面的元素都被拉伸了,因为据我所知,CSS 将画布视为 img,实际上并没有拉伸画布的分辨率。
html,
body {
height: 100%;
width: 100%;
margin:0;
padding:0;
}
/*canvas*/
#bg {
background: #171629;
}
js:
ctx.beginPath()
ctx.canvas.width = window.innerWidth
ctx.canvas.height = window.innerHeight
ctx.rect(20, 40, 50, 50)
ctx.fillStyle = "#e5e5e5"
ctx.fill()
ctx.closePath()
解决方案
经过一番尝试,我发现这是一个解决方案:
CSS:
html,
body {
display:flex;
margin:0;
padding:0;
}
js:
canvasElement.height = window.innerHeight;
canvasElement.width = document.body.clientWidth;
推荐阅读
- swift - iOS 14 SwiftUI UIViewRepresentable updateUIView 没有检测到 ObservedObject 的变化?
- python - 找不到包 mysql.connector
- java - Java中这种类型的泛型类是什么意思?
- node.js - 如何添加 JWT 令牌认证以保护路由
- python - 如何使用 pip 安装特定版本的 numpy?
- mysql - 它说子查询返回超过 1 行,但我不知道为什么?
- javascript - Javascript函数在完成while循环之前继续
- matlab - Matlab 的新函数参数验证是否允许不匹配的名称-值参数?
- arrays - 在 MongoDB 中设置角色
- javascript - 在 Javascript Jquery 中调用 PHP 变量