clientWidth,clientHeight与offsetWidth,offsetHeight的区别

<div id="myDiv" style="border:1px solid red;width:300px;height:300px; padding:30px; overflow:scroll;">abcdiv>

clientWidth,clientHeight与offsetWidth,offsetHeight的区别_第1张图片

<script type="text/javascript">
  $(document).ready(function(){
      alert("offsetWidth: " + $("#myDiv")[0].offsetWidth);
      alert("clientWidth: " + $("#myDiv")[0].clientWidth);
      alert("offsetHeight: " + $("#myDiv")[0].offsetHeight); 
      alert("clientHeight: " + $("#myDiv")[0].clientHeight)
  })
script>

clientWidth,clientHeight与offsetWidth,offsetHeight的区别_第2张图片
可见:offsetWidth: width + padding + border
clientWidth,clientHeight与offsetWidth,offsetHeight的区别_第3张图片
clientWidth: width + padding - 滚动条
clientWidth,clientHeight与offsetWidth,offsetHeight的区别_第4张图片
offsetHeight: height + padding + border
clientWidth,clientHeight与offsetWidth,offsetHeight的区别_第5张图片
clientHeight: height + padding - 滚动条

总结记忆:
var common = (height/width + padding)
offsetWidth,offsetHeight –> common + border;
clientWidth,clientHeight –> common - 滚动条

你可能感兴趣的:(clientWidth,clientHeight与offsetWidth,offsetHeight的区别)