# HTML &lt;img&gt; 标签 ## 实例 在下面的例子中,我们在页面中插入一幅 W3School 的工程师在上海鲜花港拍摄的郁金香照片: ``` <img src="/i/eg_tulip.jpg" alt="上海鲜花港 - 郁金香" /> ``` 以上代码的效果: ![上海鲜花港 - 郁金香](https://box.kancloud.cn/2015-12-18_56736d6802aa4.jpg) (您可以在页面底部找到更多实例) ## 浏览器支持 | IE | Firefox | Chrome | Safari | Opera | | --- | --- | --- | --- | --- | 所有浏览器都支持 &lt;img&gt; 标签。 ## 定义和用法 img 元素向网页中嵌入一幅图像。 请注意,从技术上讲,&lt;img&gt; 标签并不会在网页中插入图像,而是从网页上链接图像。&lt;img&gt; 标签创建的是被引用图像的占位空间。 &lt;img&gt; 标签有两个必需的属性:[src 属性](/tags/att_img_src.asp) 和 [alt 属性](/tags/att_img_alt.asp)。 延伸阅读:[如何正确地使用图像](#how-to-use-image) ## HTML 与 XHTML 之间的差异 在 HTML 中,&lt;img&gt; 标签没有结束标签。 在 XHTML 中,&lt;img&gt; 标签必须被正确地关闭。 在 HTML 4.01 中,不推荐使用 image 元素的 "align"、"border"、"hspace" 以及 "vspace" 属性。 在 XHTML 1.0 Strict DTD 中,不支持 image 元素的 "align"、"border"、"hspace" 以及 "vspace" 属性。 ## 必需的属性 | 属性 | 值 | 描述 | | --- | --- | --- | | [alt](/tags/att_img_alt.asp "HTML &lt;img&gt; 标签的 alt 属性") | _text_ | 规定图像的替代文本。 | | [src](/tags/att_img_src.asp "HTML &lt;img&gt; 标签的 src 属性") | _URL_ | 规定显示图像的 URL。 | ## 可选的属性 | 属性 | 值 | 描述 | | --- | --- | --- | | [align](/tags/att_img_align.asp "HTML &lt;img&gt; 标签的 align 属性") | `top` `bottom` `middle` `left` `right` | 不推荐使用。规定如何根据周围的文本来排列图像。 | | [border](/tags/att_img_border.asp "HTML &lt;img&gt; 标签的 border 属性") | _pixels_ | 不推荐使用。定义图像周围的边框。 | | [height](/tags/att_img_height-width.asp "HTML &lt;img&gt; 标签的 height 和 width 属性") | _pixels_ _%_ | 定义图像的高度。 | | [hspace](/tags/att_img_hspace_vspace.asp "HTML &lt;img&gt; 标签的 hspace 和 vspace 属性") | _pixels_ | 不推荐使用。定义图像左侧和右侧的空白。 | | [ismap](/tags/att_img_ismap.asp "HTML &lt;img&gt; 标签的 ismap 属性") | _URL_ | 将图像定义为服务器端图像映射。 | | [longdesc](/tags/att_img_longdesc.asp "HTML &lt;img&gt; 标签的 longdesc 属性") | _URL_ | 指向包含长的图像描述文档的 URL。 | | [usemap](/tags/att_img_usemap.asp "HTML &lt;img&gt; 标签的 usemap 属性") | _URL_ | 将图像定义为客户器端图像映射。 | | [vspace](/tags/att_img_hspace_vspace.asp "HTML &lt;img&gt; 标签的 hspace 和 vspace 属性") | _pixels_ | 不推荐使用。定义图像顶部和底部的空白。 | | [width](/tags/att_img_height-width.asp "HTML &lt;img&gt; 标签的 height 和 width 属性") | _pixels_ _%_ | 设置图像的宽度。 | ## 全局属性 &lt;img&gt; 标签支持 [HTML 中的全局属性](/tags/html_ref_standardattributes.asp)。 ## 事件属性 &lt;img&gt; 标签支持 [HTML 中的事件属性](/tags/html_ref_eventattributes.asp)。 ## TIY 实例 [插入图像](/tiy/t.asp?f=html_image) 本例演示如何在网页中显示图像。 ``` <!DOCTYPE HTML> <html> <body> <p> 一幅图像: <img src="/i/eg_mouse.jpg" width="128" height="128" /> </p> <p> 一幅动画图像: <img src="/i/eg_cute.gif" width="50" height="50" /> </p> <p>请注意,插入动画图像的语法与插入普通图像的语法没有区别。</p> </body> </html> ``` [从不同的位置插入图片](/tiy/t.asp?f=html_image2) 本例演示如何将其他文件夹或服务器的图片显示到网页中。 ``` <html> <body> <p> 来自另一个文件夹的图像: <img src="/i/ct_netscape.jpg" /> </p> <p> 来自 W3School.com.cn 的图像: <img src="http://www.w3school.com.cn/i/w3school_logo_white.gif" /> </p> </body> </html> ``` [背景图片](/tiy/t.asp?f=html_backgroundimage) 本例演示如何添加背景图片到HTML页面。 ``` <html> <body background="/i/eg_background.jpg"> <h3>图像背景</h3> <p>gif 和 jpg 文件均可用作 HTML 背景。</p> <p>如果图像小于页面,图像会进行重复。</p> </body> </html> ``` [排列图片](/tiy/t.asp?f=html_image_align) 本例演示如何在文字中排列图像。 ``` <html> <body> <h2>未设置对齐方式的图像:</h2> <p>图像 <img src ="/i/eg_cute.gif"> 在文本中</p> <h2>已设置对齐方式的图像:</h2> <p>图像 <img src="/i/eg_cute.gif" align="bottom"> 在文本中</p> <p>图像 <img src ="/i/eg_cute.gif" align="middle"> 在文本中</p> <p>图像 <img src ="/i/eg_cute.gif" align="top"> 在文本中</p> <p>请注意,bottom 对齐方式是默认的对齐方式。</p> </body> </html> ``` [浮动图像](/tiy/t.asp?f=html_image_float) 本例演示如何使图片浮动至段落的左边或右边。 ``` <html> <body> <p> <img src ="/i/eg_cute.gif" align ="left"> 带有图像的一个段落。图像的 align 属性设置为 "left"。图像将浮动到文本的左侧。 </p> <p> <img src ="/i/eg_cute.gif" align ="right"> 带有图像的一个段落。图像的 align 属性设置为 "right"。图像将浮动到文本的右侧。 </p> </body> </html> ``` [调整图像尺寸](/tiy/t.asp?f=html_image_size) 本例演示如何将图片调整到不同的尺寸。 ``` <html> <body> <img src="/i/eg_mouse.jpg" width="50" height="50"> <br /> <img src="/i/eg_mouse.jpg" width="100" height="100"> <br /> <img src="/i/eg_mouse.jpg" width="200" height="200"> <p>通过改变 img 标签的 "height" 和 "width" 属性的值,您可以放大或缩小图像。</p> </body> </html> ``` [为图片显示替换文本](/tiy/t.asp?f=html_image_alt) 本例演示如何为图片显示替换文本。在浏览器无法载入图像时,替换文本属性告诉读者她们失去的信息。为页面上的图像都加上替换文本属性是个好习惯。 ``` <html> <body> <p>仅支持文本的浏览器无法显示图像,仅仅能够显示在图像的 "alt" 属性中指定的文本。在这里,"alt" 的文本是“向左转”。</p> <p>请注意,如果您把鼠标指针移动到图像上,大多数浏览器会显示 "alt" 文本。</p> <img src="/i/eg_goleft.gif" alt="向左转" /> <p>如果无法显示图像,将显示 "alt" 属性中的文本:</p> <img src="/i/eg_goleft123.gif" alt="向左转" /> </body> </html> ``` [制作图像链接](/tiy/t.asp?f=html_image_link) 本例演示如何将图像作为一个链接使用。 ``` <html> <body> <p> 您也可以把图像作为链接来使用: <a href="/example/html/lastpage.html"> <img border="0" src="/i/eg_buttonnext.gif" /> </a> </p> </body> </html> ``` [创建图像地图](/tiy/t.asp?f=html_areamap) 本例显示如何创建带有可供点击区域的图像地图。其中的每个区域都是一个超级链接。 ``` <html> <body> <p>请点击图像上的星球,把它们放大。</p> <img src="/i/eg_planets.jpg" border="0" usemap="#planetmap" alt="Planets" /> <map name="planetmap" id="planetmap"> <area shape="circle" coords="180,139,14" href ="/example/html/venus.html" target ="_blank" alt="Venus" /> <area shape="circle" coords="129,161,10" href ="/example/html/mercur.html" target ="_blank" alt="Mercury" /> <area shape="rect" coords="0,0,110,260" href ="/example/html/sun.html" target ="_blank" alt="Sun" /> </map> <p><b>注释:</b>img 元素中的 "usemap" 属性引用 map 元素中的 "id" 或 "name" 属性(根据浏览器),所以我们同时向 map 元素添加了 "id" 和 "name" 属性。</p> </body> </html> ``` ## 延伸阅读 - 如何正确地使用图像 HTML 和 XHTML 最引人注目的特征之一,就是能够在文档的文本中包括图像,既可以把图像作为文档的内在对象(内联图像),也可以将其作为一个可通过超链接下载的单独文档,或者作为文档的背景。 合理地在文档内容中加入图像(静态的或者具有动画效果的图标、照片、说明、绘画,等等)时,会使文档变得更加生动活泼,更加引人入胜,而且看上去更加专业,更具信息性并易于浏览。还可以专门使一个图像成为超链接的可视引导图。 然而,如果过度使用图像,文档就会变得支离破碎,混乱不堪,而且无法阅读,用户在下载和查看该页面时,更会增加很多不必要的等待时间。 请阅读下面的文章,学习 Web 上的两种主要图像格式:GIF 和 JPEG,以及如何正确地使用图像: * [GIF 图像](/media/media_gif.asp "多媒体教程 - GIF 图像") * [JPEG 图像](/media/media_jpeg.asp "多媒体教程 - JPEG 图像") * [在 Web 上使用图像](/media/media_browserimages.asp "多媒体教程 - 在 Web 上使用图像") ## 参阅 * [教程:HTML 图像](/html/html_images.asp "HTML 图像") * [参考手册:HTML 5 &lt;img&gt; 标签](/tags/tag_img.asp "HTML 5 &lt;img&gt; 标签") ## 相关页面 HTML DOM 参考手册:[Image 对象](/jsref/dom_obj_image.asp "HTML DOM Image 对象")