我今天遇到了一个非常混乱的问题
我有一个画布和一个 div,像这样
<canvas id="canvas" width="800" height="400"></canvas>
<div id="xy"></div>
然后我通过css文件设置div的属性,例如position:absolute和display:none 然后,我通过JS在div中写入X/Y位置并尝试设置div的属性,以便div遵循鼠标四处走动,像这样
var div = document.getElementById("xy");
var x = e.pageX - this.offsetLeft - 1;
var y = e.pageY - this.offsetTop - y0 - 0.5;
div.style.display = "block";
div.style.left = e.pageX + 25;
div.style.top = e.pageY -10;
div.style.backgroundColor = "#f00";
现在有趣的是:我可以毫无问题地设置 display 和 backgroundColor,但是 left 和 top 属性不起作用。如果我在我的 HTML 文件中删除我的 DOCTYPE 声明,我可以毫无问题地修改 left 和 top 属性。没有 doctype 的工作当然是不可能的。我是在做不应该做的事情,还是遗漏了一些完全明显的事情?