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.οnlοad=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>