The width
property of the HTMLImageElement
interface indicates the width at which the image is drawn, in CSS pixels if the image is being drawn or rendered to any visual medium such as the screen or a printer; otherwise, it's the natural, pixel density corrected width of the image.
Syntax
htmlImageElement.width = newWidth; let width = htmlImageElement.width;
Value
An integer value indicating the width of the image. The terms in which the width is defined depends on whether the image is being rendered to a visual medium or not.
- If the image is being rendered to a visual medium such as a screen or printer, the width is expressed in CSS pixels.
- Otherwise, the image's width is represented using its natural (intrinsic) width, adjusted for the display density as indicated by
naturalWidth
.
Example
In this example, two different sizes are provided for an image of a clock using the srcset
attribute. One is 200px wide and the other is 400px wide. Further, the sizes
attribute is provided to specify the width at which the image should be drawn given the viewport's width.
HTML
Specifically, for viewports up to 400px wide, the image is drawn at a width of 200px; otherwise, it's drawn at 400px.
<p>Image width: <span class="size">?</span>px (resize to update)</p> <img src="/files/16864/clock-demo-200px.png" alt="Clock" srcset="/files/16864/clock-demo-200px.png 200w, /files/16797/clock-demo-400px.png 400w" sizes="(max-width: 400px) 200px, 400px">
JavaScript
The JavaScript code looks at the width
to determine the width of the image at the moment. This is done in the window's load
and resize
event handlers, in order to always provide this information.
var clockImage = document.querySelector("img"); let output = document.querySelector(".size"); const updateWidth = event => { output.innerText = clockImage.width; }; window.addEventListener("load", updateWidth); window.addEventListener("resize", updateWidth);
Result
This example may be easier to try out in its own window.
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'HTMLImageElement.width' in that specification. |
Living Standard |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
width | Chrome Full support 1 | Edge Full support 12 | Firefox Full support Yes | IE .html? | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown