What is the difference between width
, naturalWidth
, and clientWidth
?
Asked
Active
Viewed 9,912 times
9

T.J. Crowder
- 1,031,962
- 187
- 1,923
- 1,875

galeb
- 155
- 2
- 8
-
This has nothing to do with JavaScript. It's a question about DOM properties. – T.J. Crowder Jan 27 '15 at 09:36
2 Answers
10
Read this:
Understanding offsetWidth, clientWidth, scrollWidth and -Height, respectively
example: <img>
tag
naturalWidth
: it is the original width of the image used in tag.
width
: it is the value/default value of width attribute of tag.
-
is there any way to get original width of image before loading the image? – galeb Jan 27 '15 at 09:46
-
use Load event of image and get the width & height or you can use: **var w = document.querySelector('img').naturalWidth;** – Vijay Jan 27 '15 at 09:53
-
2
clientWidth
represents the width of the element and is subject to manipulation by the browser. For example, a 300px wide image can be resized and this manipulated value will come through in clientWidth
.
naturalWidth
is the natural width of the element. In the example of a 300px wide image, the naturalWidth
will still be 300 even if the image is resized in the browser via CSS or JavaScript.

Chris Troutner
- 477
- 6
- 7