有人可以解释为什么以下代码,我只是将div移动到鼠标点击位置,只有在我删除DOCTYPE标签时才有效吗?
<!DOCTYPE html>
<html lang="en">
<head>
<title>Prova</title>
<style>
.bbox{
width: 10px;
height:10px;
position:absolute;
background-color: orange;
}
</style>
</head>
<body onclick = "moves()">
<script>
function moves(){
var cordx;
var cordy;
var d;
var e = window.event;
d= document.getElementById('box');
cordx = e.clientX;
cordy = e.clientY;
d.style.left = cordx;
d.style.top = cordy;
}
</script>
<div class="bbox" id='box'></div>
</body>
</html>
答案 0 :(得分:2)
CSS要求lengths(0
除外)具有单位。
您要将整数分配给d.style.left
和d.style.top
。
如果您forget the Doctype,那么浏览器会认为该页面是在90年代编写的,emulates the bugs是那个时代的浏览器所具有的。一旦这样的错误将CSS中的整数视为像素值而不是错误。
使用+ "px"
。