这三个属性都是用来获取一个元素的宽度的属性。
-
offsetWidth
:包括元素的宽度、水平内边距、垂直滚动条(如果有)、边框和垂直内边距在内的整个元素的宽度。 -
clientWidth
:包括元素的宽度和水平内边距在内的元素的宽度。也就是说这个属性只包含可视部分。 -
scrollWidth
:元素的内容超过了它的可视区域时,决定元素滚动条的最小宽度,也就是元素的实际内容的宽度。
简单总结一下:
-
offsetWidth 包含元素在页面中占据的全部空间,包括可见部分和不可见部分;
-
clientWidth 只包含元素的宽度和水平内边距;
-
scrollWidth 是元素的实际内容的宽度,它可能大于或小于 clientWidth。