猿问

为什么a.offsetLeft为-24px????

<html>
<head>
<style type='text/css'>
div { position: relative; border: 4px solid #ccc; height: 200px; overflow: hidden;}
p { position: absolute; height: 100px; line-height: 100px;border: 2px solid blue;}
</style>
</head>
<body>
<div>
<p id='a'style='left:-20px; z-index: 10;'>12342</p>
</div>
</body>
<script type='text/javascript'>
function $id(id){ return document.getElementById(id);};
var a = $id('a').offsetLeft;
alert(a);
</script>
</html>

我实验了一下,当父元素设置overflow:hidden;的时候,offsetLeft为正就style.left加父元素的边框;为负就减。而父元素没设置overflow;hidden的时候,offsetLeft和style.left数值上是相等的。这是为什么????

上帝子民Chris
浏览 1395回答 0
0回答
随时随地看视频慕课网APP
我要回答