Резюме
<img> — элемент HTML,
предназначенный для показа изображений.
Usage note:
Browsers do not always display the image referenced by the element. This is the case for non-graphical browsers (including those used by people with vision impairments), or if the user chooses not to display images, or if the browser is unable to display the image because it is invalid or an unsupported type. In these cases, the browser may replace the image with the text defined in this element's alt attribute.
- Content categories Flow content, phrasing content, embedded content, palpable content. If the element has a {{htmlattrxref("usemap", "img")}} attribute, it also is a part of the interactive content category.
- Permitted content None, it is an {{Glossary("empty element")}}.
- Tag omission Must have a start tag and must not have an end tag.
- Permitted parent elements Any element that accepts embedded content.
- DOM interface {{domxref("HTMLImageElement")}}
Атрибуты
Кроме перечисленных ниже, к элементу также применимы глобальные атрибуты.
- {{htmlattrdef("align")}} {{deprecatedGeneric('inline','HTML4.01')}}, {{obsoleteGeneric('inline','HTML5')}} Use the {{cssxref('vertical-align')}} CSS property
- Задает выравнивание изображения относительно другого содержимого документа.
- {{htmlattrdef("alt")}}
- С помощью этого атрибута задается альтернативный текст для изображения. Он будет показан вместо изображения, если оно не загружено.
Usage note: Omitting this attribute indicates that the image is a key part of the content, but no textual equivalent is available. Setting this attribute to the empty string indicates that this image is not a key part of the content; non-visual browsers may omit it from rendering.
- {{htmlattrdef("border")}} {{deprecatedGeneric('inline','HTML4.01')}}, {{obsoleteGeneric('inline','HTML5')}}
- Устанавливает ширину рамки вокруг изображения.
- {{htmlattrdef("crossorigin")}} {{HTMLVersionInline(5)}}
- This enumerated attribute indicates if the fetching of the related image must be done using CORS or not. CORS-enabled images can be reused in the {{HTMLElement("canvas")}} element without being tainted. The allowed values are:
- anonymous
- A cross-origin request (i.e. with
Origin:
HTTP header) is performed. But no credential is sent (i.e. no cookie, no X.509 certificate and no HTTP Basic authentication is sent). If the server does not give credentials to the origin site (by not setting theAccess-Control-Allow-Origin:
HTTP header), the image will be tainted and its usage restricted.. - use-credentials
- A cross-origin request (i.e. with
Origin:
HTTP header) performed with credential is sent (i.e. a cookie, a certificate and HTTP Basic authentication is performed). If the server does not give credentials to the origin site (throughAccess-Control-Allow-Credentials:
HTTP header), the image will be tainted and its usage restricted.
Origin:
HTTP header), preventing its non-tainted usage in {{HTMLElement('canvas')}} elements. If invalid, it is handled as if the enumerated keyword anonymous was used. See CORS settings attributes for additional information. - {{htmlattrdef("height")}}
- The height of the image in {{HTMLVersionInline(5)}} CSS pixels, or {{HTMLVersionInline(4)}} in pixels or as a percentage.
- {{htmlattrdef("hspace")}} {{deprecatedGeneric('inline','HTML4.01')}}, {{obsoleteGeneric('inline','HTML5')}}
- The number of pixels of white space to insert to the left and right of the image.
- {{htmlattrdef("ismap")}}
- This Boolean attribute indicates that the image is part of a server-side map. If so, the precise coordinates of a click are sent to the server.
Usage note: This attribute is allowed only if the
<img>
element is a descendant of an {{htmlelement("a")}} element with a valid {{htmlattrxref("href","a")}} attribute. - {{htmlattrdef("longdesc")}}{{HTMLVersionInline(4)}} only
- The URL of a description of the image to be displayed, which supplements the alt text. In {{HTMLVersionInline(5)}}, use a regular {{HTMLElement("a")}} element to link to the description.
- {{htmlattrdef("name")}} {{deprecatedGeneric('inline','HTML4.01')}}, {{obsoleteGeneric('inline','HTML5')}}
- A name for the element. It is supported in {{HTMLVersionInline(4)}} only for backward compatibility. Use the id attribute instead.
- {{htmlattrdef("src")}}
- Image URL, this attribute is obligatory for the
<img>
element. On browsers supporting srcset, src is ignored if this one is provided. - {{htmlattrdef("sizes")}}{{HTMLVersionInline(5)}}
- A list of one or more strings separated by commas indicating a set of source sizes. Each source size consists of:
- an optional media condition,
- a source size value. The default, if missing, is
100vw
.
Source
sizes
values are used to specify the intended size of the image, for the purpose of selecting a source from the list supplied by thesrcset
attribute. The selected size becomes the intrinsic size of the image (images inherent size if no explicit CSS styling is applied). If thesrcset
attribute is absent, or contains no values with a width descriptor, then thesizes
attribute has no effect. - {{htmlattrdef("srcset")}}{{HTMLVersionInline(5)}}
- A list of one or more strings separated by commas indicating a set of possible images for the user agent to use. Each string is composed of:
- one URL to an image,
- a width descriptor, that is a positive integer directly followed by
'w'
. The default value, if missing, is the infinity. - a pixel density descriptor, that is a positive floating number directly followed by
'x'
. The default value, if missing, is1x
.
Each string in the list must have at least a width descriptor or a pixel density descriptor to be valid. Among the list, there must be only one string containing the same tuple of width descriptor and pixel density descriptor.
The browser chooses the most adequate image to display at a given point of time. - {{htmlattrdef("width")}}
- The width of the image in pixels or percent.
- {{htmlattrdef("usemap")}}
- The partial URL (starting with '#') of an image map associated with the element.
Usage note: You cannot use this attribute if the
<img>
element is a descendant of an {{htmlelement("a")}} or {{HTMLElement("button")}} element. - {{htmlattrdef("vspace")}} {{deprecatedGeneric('inline','HTML4.01')}}, {{obsoleteGeneric('inline','HTML5')}}
- The number of pixels of white space to insert above and below the image.
Supported image formats
The HTML standard doesn't give a list of image format that must be supported, so each user agent supports a different set of formats. Gecko supports:
- JPEG
- GIF, including animated GIFs
- PNG
- APNG {{gecko_minversion_inline("1.9.2")}}
- SVG {{gecko_minversion_inline("2.0")}}
- BMP
- BMP ICO
- PNG ICO {{gecko_minversion_inline("9.0")}}
Note:
Support for the XBM format has been removed in Gecko 1.9.2.
Interaction with CSS
Regarding CSS, an <img>
is a replaced element. It has no baseline, meaning, when used in an inline formatting context with {{cssxref("vertical-align")}}: baseline
, the bottom of the image will be posed on the container's baseline.
Depending of its type, an image may have an intrinsic dimension, but this is not a necessary condition: a SVG image has no intrinsic dimension, a raster image has one.
Example 1
<img src="mdn-logo-sm.png" alt="MD Logo" />
Example 2: Image link
<a href="https://developer.mozilla.org/"><img src="mdn-logo-sm.png" alt="MDN Logo" /> </a>
Example 3: Using the srcset
attribute
The src
attribute is ignored on browsers supporting srcset
when this one is provided. The displayed images will depend of the type of screen.
<img src="mdn-logo-sm.png" alt="MD Logo" srcset="mdn-logo-HD.png 2x, mdn-logo-small.png 15w, mdn-banner-HD.png 100w 2x" />
Specifications
Specification | Status | Comment |
---|---|---|
{{SpecName('HTML WHATWG', 'embedded-content-1.html#the-img-element', '<img>')}} | {{Spec2('HTML WHATWG')}} | |
{{SpecName('HTML5 W3C', 'embedded-content-0.html#the-img-element', '<img>')}} | {{Spec2('HTML5 W3C')}} | |
{{SpecName('HTML4.01', 'struct/objects.html#h-13.2', '<img>')}} | {{Spec2('HTML4.01')}} |
Browser compatibility
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
srcset attribute | {{CompatChrome(34.0)}} | {{CompatGeckoDesktop("32.0")}} (behind a pref) | {{CompatNo}} | {{CompatOpera(21)}} | {{CompatSafari(7.1)}} |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
srcset attribute | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | iOS 8 |
See also
- {{HTMLElement("object")}} and {{HTMLElement("embed")}} elements