HTMLImageElement - Web API 接口参考 编辑
HTMLImageElement
接口提供了特别的属性和方法 (在常规的 HTMLElement
之外,它也能通过继承使用)来操纵 <img>
元素的布局和图像。
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 20%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 120" preserveAspectRatio="xMinYMin meet"><a xlink:href="/wiki/zh-CN/docs/Web/API/EventTarget" target="_top"><rect x="1" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="56" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">EventTarget</text></a><polyline points="111,25 121,20 121,30 111,25" stroke="#D4DDE4" fill="none"/><line x1="121" y1="25" x2="151" y2="25" stroke="#D4DDE4"/><a xlink:href="/wiki/zh-CN/docs/Web/API/Node" target="_top"><rect x="151" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="188.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Node</text></a><polyline points="226,25 236,20 236,30 226,25" stroke="#D4DDE4" fill="none"/><line x1="236" y1="25" x2="266" y2="25" stroke="#D4DDE4"/><a xlink:href="/wiki/zh-CN/docs/Web/API/Element" target="_top"><rect x="266" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="303.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Element</text></a><polyline points="341,25 351,20 351,30 341,25" stroke="#D4DDE4" fill="none"/><line x1="351" y1="25" x2="381" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/wiki/zh-CN/docs/Web/API/HTMLElement" target="_top"><rect x="381" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="436" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">HTMLElement</text></a><polyline points="491,25 501,20 501,30 491,25" stroke="#D4DDE4" fill="none"/><line x1="501" y1="25" x2="509" y2="25" stroke="#D4DDE4"/><line x1="509" y1="25" x2="509" y2="90" stroke="#D4DDE4"/><line x1="509" y1="90" x2="492" y2="90" stroke="#D4DDE4"/><a xlink:href="/wiki/zh-CN/docs/Web/API/HTMLImageElement" target="_top"><rect x="331" y="65" width="160" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="411" y="94" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">HTMLImageElement</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
Constructor
Image()
Image()
构造器,带有两个可选的参数,分别表示资源的宽度和高度,创建了一个尚未被插入 DOM 树中的HTMLImageElement
实例。When called without parameters,new
Image()
is equivalent to callingdocument.createElement("img")
.
属性
从它的父元素 HTMLElement
继承的属性。
HTMLImageElement.alt
- 一个
DOMString
表示 HTML 属性alt
,表明图像的后备描述内容,会在图像无法加载时显示。 HTMLImageElement.complete
只读- 返回一个
Boolean
如果浏览器已经下载完毕,并且图像是受支持的图片类型、解码的过程中没有发生错误,则返回true
。That means this value is alsotrue
if the image has nosrc
value indicating an image to load. HTMLImageElement.crossOrigin
- 一个
DOMString
表示这个img元素的 CORS 设置。参考 CORS settings attributes。This may benull
if CORS is not used. HTMLImageElement.currentSrc
只读- 返回一个
DOMString
表示加载当前显示的图像的URL。
这可能会改变,因为图像是调整,由于不断变化的条件,由任何 media queries 的地方。 HTMLImageElement.decoding
- An optional
DOMString
representing a hint given to the browser on how it should decode the image. If this value is provided, it must be one of the possible permitted values:sync
to decode the image synchronously,async
to decode it asynchronously, orauto
to indicate no preference (which is the default). Read thedecoding
page for details on the implications of this property's values. HTMLImageElement.height
- 一个整数,表示 HTML 属性
height
,说明了图像在 CSS 像素中渲染的高度。 HTMLImageElement.isMap
- 一个
Boolean
表示 HTML 属性ismap
,说明了图像是某个服务器端图像映射的一部分。This is different from a client-side image map, specified using an<img>
element and a corresponding<map>
which contains<area>
elements indicating the clickable areas in the image. The image must be contained within an<a>
element; see theismap
page for details. HTMLImageElement.naturalHeight
只读- 返回一个整数,如果可用的话,表明图像在 CSS 中固有的高度,单位为像素;否则返回
0
。如果图片是以其原来的大小渲染,则此值等于图片的高度。 HTMLImageElement.naturalWidth
只读- 返回一个整数,如果可用的话,表明图像在 CSS 中固有的宽度,单位为像素;否则返回
0
。如果图片是以其原来的大小渲染,则此值等于图片的宽度。 HTMLImageElement.referrerPolicy
- A
DOMString
that reflects thereferrerpolicy
HTML attribute, which tells the user agent how to decide which referrer to use in order to fetch the image. Read this article for details on the possible values of this string. HTMLImageElement.sizes
- A
DOMString
reflecting thesizes
HTML attribute. This string specifies a list of comma-separated conditional sizes for the image; that is, for a given viewport size, a particular image size is to be used. Read the documentation on thesizes
page for details on the format of this string. HTMLImageElement.src
- 一个
DOMString
表示 HTML 属性src
,包含图像的完整的 URL,包含图像的基础 URL。 HTMLImageElement.srcset
- 一个
DOMString
表示 HTML 属性srcset
,包含了候选图像列表,用逗号分隔(',', U+002C COMMA
)。一个候选的图像是一个URL 跟着一个'w'
表示图像的宽度,或者一个'x'
表示像素密度. HTMLImageElement.useMap
- 一个
DOMString
表示 HTML 属性usemap
,包含一个<map>
元素的页面本地 URL。The page-local URL is a pound (hash) symbol (#
) followed by the ID of the<map>
element, such as#my-map-element
. The<map>
in turn contains<area>
elements indicating the clickable areas in the image. HTMLImageElement.width
- 一个整数,表示 HTML 属性
width
,说明图像在 CSS 像素中渲染的宽度。 HTMLImageElement.x
只读- An integer indicating the horizontal offset of the left border edge of the image's CSS layout box relative to the origin of the
<html>
element's containing block. HTMLImageElement.y
只读- The integer vertical offset of the top border edge of the image's CSS layout box relative to the origin of the
<html>
element's containing block.
已废弃的属性
HTMLImageElement.align
- 一个
DOMString
,表示图像如何与它周围的内容对齐。The possible values are"left"
,"right"
,"justify"
, and"center"
. This is obsolete; you should instead use CSS (such astext-align
, which works with images despite its name) to specify the alignment. HTMLImageElement.border
- 一个
DOMString
,表示图像边框的宽度。此属性已被弃用,应该用 CSSborder
属性来代替它。 HTMLImageElement.hspace
- 一个整数值,指定图像左右的留白,单位为像素。
HTMLImageElement.longDesc
- 一个
USVString
,specifying the URL at which a long description of the image's contents may be found. This is used to turn the image into a hyperlink automatically. Modern HTML should instead simply place an<img>
inside an<a>
element defining the hyperlink. HTMLImageElement.lowSrc
- 一个
USVString
,specifying the URL of a low-quality (but faster to load) version of the same image. This was once used by browsers under constrained network conditions or on slow devices. HTMLImageElement.name
- 一个
DOMString
,representing the name of the element. HTMLImageElement.vspace
- 一个整数值,指定图像上下的留白,单位为像素。
方法
从它的父元素 HTMLElement
继承的方法。
HTMLImageElement.decode()
- Returns a
Promise
that resolves when the image is decoded and it's safe to append the image to the DOM. This prevents rendering of the next frame from having to pause to decode the image, as would happen if an undecoded image were added to the DOM.
错误
- The
src
attribute is empty ornull
. - The specified
src
URL is the same as the URL of the page the user is currently on. - The specified image is corrupted in some way that prevents it from being loaded.
- The specified image's metadata is corrupted in such a way that it's impossible to retrieve its dimensions, and no dimensions were specified in the
<img>
element's attributes. - The specified image is in a format not supported by the user agent.
- If an error occurs while trying to load or render the image, and an
onerror
event handler has been configured to handle theerror
event, that event handler will get called. This can happen in a number of situations, including:
例子
var img1 = new Image(); // Image 构造器
img1.src = 'image1.png';
img1.alt = 'alt';
document.body.appendChild(img1);
var img2 = document.createElement('img'); // 使用 DOM HTMLImageElement
img2.src = 'image2.jpg';
img2.alt = 'alt text';
document.body.appendChild(img2);
// 使用文档中的第一个 img
alert(document.images[0].src);
规范
规范 | 状态 | 备注 |
---|---|---|
CSS Object Model (CSSOM) View Module Extensions to HTMLImageElement | Working Draft | 添加 x 和 y 属性。 |
HTML Living Standard HTMLImageElement | Living Standard | 以下属性被添加了:srcset 、currentSrc 和 sizes 。 |
HTML5 HTMLImageElement | Recommendation | 一个构造器(带有 2 个可选的参数)已经被添加. 以下属性已被弃用: name 、border 、align 、hspace 、vspace ,和 longdesc .以下属性现在是 unsigned long , 类型,不再是 long 类型: height 和 width 。添加了以下属性: crossorigin , naturalWidth , naturalHeight , 和complete . |
Document Object Model (DOM) Level 2 HTML Specification HTMLImgElement | Obsolete | The lowSrc 属性已被移除。以下属性现在是 long 类型了,而不是 DOMString 类型了: height 、width 、hspace ,和 vspace 。 |
Document Object Model (DOM) Level 1 Specification HTMLImgElement | Obsolete | 初始定义。 |
浏览器兼容性
BCD tables only load in the browser
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.参见
- 实现了这个接口的 HTML 元素:
<img>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论