此代码只是一个嵌套的html、Body和Canvas标记,应该在没有滚动条的页面上刷新:

<!DOCTYPE html>
<html lang="de" style="width:100%;height:100%;padding:0px;margin:0px;background-color:#0f0">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Test</title>
  <script type="text/javascript">
  </script>
</head>

<body style="width:100%;height:100%;padding:0px;margin:0px;background-color:#f00">


  <canvas id="canvas" style="width:100%;height:100%;padding:0px;margin:0;background-color:#00f"></canvas>
</body>

</html>

但相反,它将显示一个滚动条,底部有一个微小的绿色(这是html标签.我发现这种行为可以通过删除DOCTYPE标记来修复.为什么会这样?

推荐答案

之所以会发生这种情况,是因为<canvas>元素被视为inline元素,类似于<img>标记,因为它充当图形元素.您只需将其display属性更改为block

html,
body,
canvas {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

html {
  background-color: #0f0
}

body {
  background-color: #f00;
}

canvas {
  background-color: #00f;
  display: block;
}
<!DOCTYPE html>
<html lang="de">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Test</title>
  <script type="text/javascript">
  </script>
</head>

<body>


  <canvas id="canvas"></canvas>
</body>

</html>

Html相关问答推荐

卸载伪元素 destruct 了CSS

Select 包含iframe的图形<><>

禁用与行分开的边框折叠span

Div内容防止同级大小增加

邮箱追踪器-有效,但在Gmail客户端中是否可以显示问号图标以外的其他内容?

在<;style&>中列出的三种字体中,只有两种显示

如何将内容元素放在侧边栏旁边?

如何在小屏幕中制作水平滚动div

Tailwind CSS 忽略我的元素的填充

如何用js和CSS在两点之间画一条线

如何检测输入字段是否没有必填且没有占位符?

在 flexbox 中使用 spacer 是否有效

这两个CSS中的网格居中对齐内部盒子有什么区别?

主要元素内滚动时,固定导航栏会消失

css 网格创建空行和列

如何在 bootstrap 程序导航栏中居中搜索图标

当我希望它只横向滚动时,可滚动菜单也会上下移动

如何向弹出窗口添加 sanitize: false 选项?

SVG 适用于 Safari,不适用于 Chrome

如何在 about:blank 网站上设置页面标题