最近学习原生js的时候,被几个属性绕晕了@_@(scrollWidth、clientWidth、offsetWidth),所以看了一些资料和文档,整理出了一篇文章,水平有限,不足之处请多多包涵。

   转载请注明出处:http://www.cnblogs.com/xiaovw/articles/8351689.html 

  首先,来说一下这三个属性都是什么意思。

    1、scrollWidth:表示元素的总宽度,包括由于溢出而隐藏的部分。

    2、clientWidth:表示内容可视区的宽度,只包括显示区域的宽度。

    3、offsetWidth:表示元素的实际宽度,包括可视区域和滚动条的宽度。

  其次,用一幅图片来展示一下上述属性表述的意思。

  最后,说一下这三个元素的差别:

    情况1

      html元素没有出现滚动条,clientWidth属性值 = scrollWidth属性值,且两者都是可视区的尺寸大小。offsetWidth表示对象的实际宽度。

    情况2

      html元素出现滚动条,scrollWidth属性值 > clientWidth属性值()。

      scrollWidth:对象的实际内容的宽度,不包边线宽度。 
      clientWidth:对象内容的可视区的宽度,不包滚动条等边线。 
      offsetWidth:对象整体的实际宽度,包滚动条等边线。

      (以上三个属性都会随对象显示大小的变化而改变。)

 

posted on 2018-01-25 16:02  肖薇  阅读(486)  评论(0编辑  收藏  举报