There are several properties you can look at in order to determine the width and height of elements, and it can be tricky to determine which is the right one for your needs. This article is designed to help you make that decision.
How much room does it use up?
If you need to know the total amount of space an element occupies, including the width of the visible content, scrollbars (if any), padding, and border, you want to use the
offsetHeight properties. These are the same as the width and height of
What's the size of the displayed content?
If you need to know how much space the actual displayed content takes up, including padding but not including the border, margins, or scrollbars, you want to use the
How big is the content?
If you need to know the actual size of the content, regardless of how much of it is currently visible, you need to use the
scrollHeight properties. These return the width and height of the entire content of an element, even if only part of it is presently visible due to the use of scroll bars.
For example, if a 600-by-400 pixel element is being displayed inside a 300x300 pixel scrollbox,
scrollWidth will return 600 while
scrollHeight will return 400.