今日は非常に紛らわしい問題に遭遇しました
このようなキャンバスと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 宣言を削除すると、左と上のプロパティを問題なく変更できます。もちろん、Doctypeなしで作業することは問題外です。してはいけないことをしているのですか、それとも完全に明らかな何かを見逃していますか?