javascript - 将背景中的 Canvas 元素放置到 html 表中

标签 javascript css html canvas

我正在尝试将 Canvas 元素放置为 html 表格的背景。

想法是有一张 table 并在背景中用 Canvas 播放动画。

如果我尝试,会发生什么:

<canvas width="300" height="300">
    <table class="table" id="game"></table>
</canvas>

canvas eats the table,我无法让它出现。

如果我尝试相反的做法,将 Canvas 放在 table 内,我无法找到合适的位置, Canvas 只会移动到一边。

我的想法是将 Canvas 居中,将表格居中放置在 Canvas 的中央。请注意,表格大小可能会随着 javascript 的变化而变化。如果 Canvas 的宽度/高度与表格相同就足够了。

最佳答案

使用单独的兄弟元素而不是父子关系。

<canvas></canvas>
<table></table>

绝对最简单的方法是绝对定位它们,调整它们的大小(或抓取表格的大小并更改 Canvas 的大小)并使用 z-index 堆叠它们。

canvas,
table {
  position: absolute;
  width: 300px;
  height: 300px;
  top: 0;
  left: 0;
}

canvas {
  z-index: 1;
}
table {
  z-index: 10;
}

如果要改变表格和 Canvas 的大小,您可能需要稍微聪明一些。

关于javascript - 将背景中的 Canvas 元素放置到 html 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34228979/

相关文章:

javascript - 如何在几秒钟内更改聚焦元素的背景颜色?

html - 在 bootstrap 中自定义 css

javascript - Playwright JS - 如果找不到元素/选择器,如何全局定义/更改超时?

javascript - 正则表达式返回空字符空间并且未定义?

css - 我可以为 DIV 指定宽度(以 % 为单位)和最小宽度(以 px 为单位)吗?

html - 我将如何使这个 div 响应

javascript - 单击链接时如何打开新选项卡或窗口?

HTML CSS 响应表和 CSS 之前

javascript - 如何知道实时更新何时结束 - Cloud Firestore ionic 4 with angular

javascript - Node 回调参数无法断言instanceof错误