javascript 当我在Edge或Brave上运行代码时,是什么原因导致画布溢出屏幕?[副本]

8zzbczxx  于 2023-05-21  发布在  Java
关注(0)|答案(1)|浏览(122)

此问题已在此处有答案

Canvas window.inner(Width|Height) scrollbar offset?(1个答案)
昨天关门了。
问题是如果我不把显示屏设置为阻止,画布就会溢出屏幕,我在互联网上找不到答案,所以在我看来,我可能做错了什么。我在Edge和Brave上测试了这个,我得到了同样的结果。
我能知道我的代码有什么问题吗:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" href="style.css" />

    <title>Document</title>
  </head>
  <body>
    <canvas></canvas>
    <script src="script.js"></script>
  </body>
</html>
html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
}
/*
canvas {
  display: block;
}
*/
const canvas = document.querySelector("canvas");

canvas.width = window.innerWidth;
canvas.height = window.innerHeight;

这是codepen link
我尝试运行提供的代码,并期望画布适合屏幕,而不会有任何滚动条或溢出。

gdrx4gfi

gdrx4gfi1#

看起来canvas元素确实需要display: block(因为默认情况下它不是块级别的),或者我们需要通过将<!DOCTYPE html>转换为<!DOCTYPE html5>来激活html5模式

相关问题