能讲一下offsetWidth,width,clientWidth这三者的区别吗,他们都有什么用?

能讲一下offsetWidth,width,clientWidth这三者的区别吗,他们在具体开发中是如何使用的?

阅读 11.5k
4 个回答

它们之间的关系,可以概括如下:
clientWidth = width + padding
offsetWidth = width + padding + border

可以参考下面例子:

<html>
    <head>
    </head>
    <body>
         <div id='test' style="border:2px solid blue; padding:5px;width: 200px;">
              天下武功出少林!!
        </div>
        <script>
              var ele = document.getElementById('test');
              //clientWidth:210  offsetWidth:214 width:200px
              alert("clientWidth:"+ele.clientWidth+" offsetWidth:"+ele.offsetWidth+" width:"+ele.style.width);
        </script>
    </body>
</html>

clientWidth = width + padding
offsetWidth = width + padding + border

width既是css中设置的大小

clientWidth:width+padding

offsetWidth:width+padding+border(既clientWidth+border)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题