【发布时间】:2021-12-19 15:07:08
【问题描述】:
代码是这样的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
html {
border: 1px solid black;
padding: 0;
}
body {
width: 100px;
height: 100px;
border: 10px solid red;
padding: 10px;
margin: 10px;
}
div {
width: 100px;
height: 100px;
border: 10px solid black;
padding: 10px;
margin: 10px;
}
</style>
</head>
<body>
<div id="div"></div>
</body>
</html>
为什么div元素的offsetLeft值是offsetLeft是41?
应该是 div.leftMargin + body.leftPadding = 20px。
这是 chrome 错误还是我误解了 offsetLeft?
【问题讨论】:
-
你的
html有边框 -
@DanielA.White 但它不应该影响结果,因为
offsetParent是body元素。
标签: javascript css dom