The width
property of the HTMLImageElement
interface indicates the width at which an image is drawn in CSS pixels if it's being drawn or rendered to any visual medium such as a screen or 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 way the width is defined depends on whether or not the image is being rendered to a visual medium, such as a screen or printer:
- If the image is being rendered to a visual medium, the width is expressed in CSS pixels.
- If the image is not being rendered to a visual medium, its width is represented using the image's 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. The sizes
attribute is used to specify the width at which the image should be drawn given the viewport's width.
HTML
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
JavaScript looks at the width
property to determine the width of the image at the moment. This is performed in the window's load
and resize
event handlers so the most current width information is always available.
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 [[../../../../../../../mdn.mozillademos.org/en-US/docs/Web/API/HTMLImageElement/width%24samples/Example|in its own window]].
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living StandardThe definition of 'HTMLImageElement.width' in that specification. | Living Standard |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
width
|
Chrome
Full support 1 |
Edge
Full support 12 |
Firefox
Full support Yes |
IE
? |
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
HTMLImageElement.width by Mozilla Contributors is licensed under CC-BY-SA 2.5.