offsetWidth表示对对象的可见宽度
offsetWidth=width+padding+border
而offsetLeft是盒子边缘到上一级盒子内边框的距离,所以跟margin值有关,与border和padding没有关系。
offsetLeft=left+margin
*{margin: 0;padding: 0;}
#div1{
width: 400px;
height: 400px;
background-color: #ccc;
border: 2px solid #999;
padding:11px;
margin: 22px;
}
#div2{
width: 100px;
height: 100px;
background-color: red;
border: 1px solid #999;
padding:10px;
margin: 19px;
}
</style>
<script type="text/javascript">
window.onload=function(){
var aDiv=document.getElementById('div1');
var aDiv2=document.getElementById('div2')
alert(aDiv2.offsetWidth) //122=100+10+10+1+1=width+padding+border
alert(aDiv2.offsetHeight) //122=100+10+10+1+1=height+padding+border
alert(aDiv2.offsetLeft) //54 = 2+11+22+19= div1的border+div1的padding+div1的margin+div2的margin
alert(aDiv2.offsetTop) //54
}
</script>
650

被折叠的 条评论
为什么被折叠?



