17站长网

17站长网 首页 编程教程 Html教程 查看内容

HTML 图像

在 html 中,图像由 <img> 标签定义,<img> 是空标签,意思是说,它只包含属性,并且没有闭合标签 。

html 图像 - 图像标签 ( <img> ) 和源属性 ( src )

在 HTML 中,图像由 <img> 标签定义,请注意:从技术上讲,<img>标签并不会在网页中插入图像,而是从网页上链接图像。<img>标签创建的是被引用图像的占位空间。

<img> 是空标签,意思是说,它只包含属性,并且没有闭合标签

要在页面上显示图像,需要使用源属性 ( src )

src 指 "source",源属性的值是图像的 URL 地址

语法

<img src=" *url* " alt=" *some_text* ">

URL 指存储图像的位置

浏览器将图像显示在文档中图像标签出现的地方

如果你将图像标签置于两个段落之间,那么浏览器会首先显示第一个段落,然后显示图片,最后显示第二段

属性:

<img>标签有两个必需的属性:src属性(规定显示图像的URL)和alt属性(规定图像的替代文本)。

可选的属性:

height:定义图像的高度。

width:定义图像的宽度。

ismap:将图像定义为服务器端图像映射。

longdesc:指向包含长的图像描述文档的URL。

usemap:将图像定义为客户端的图像映射。

HTML 图像 - alt 属性

alt 属性用来为图像定义一串预备的可替换的文本

替换文本属性的值是用户定义的

<img src="boat.gif" alt="Big Boat">

在浏览器无法载入图像时,替换文本属性告诉读者她们失去的信息

此时,浏览器将显示这个替代性的文本而不是图像

为页面上的图像都加上替换文本属性是个好习惯,这样有助于更好的显示信息,并且对于那些使用纯文本浏览器的人来说是非常有用的

HTML 图像 - 设置图像的高度与宽度

属性 height 与 width 属性用于设置图像的高度与宽度

属性值默认单位为像素

<img src="pulpit.jpg" alt="Pulpit rock" width="304" height="228">

指定图像的高度和宽度的一个很好的习惯

如果图像指定了高度宽度,页面加载时就会保留指定的尺寸

如果没有指定图片的大小,加载页面时有可能会破坏 HTML 页面的整体布局

有用的提示

假如某个 HTML 文件包含十个图像,那么为了正确显示这个页面,需要加载 11 个文件

加载图片是需要时间的,所以我们的建议是:慎用图片

加载页面时,要注意插入页面图像的路径,如果不能正确设置图像的位置,浏览器无法加载图片,图像标签就会显示一个破碎的图片

<li><img>标签之间有空隙 最终解决办法 

一、将图片转换为块级对象
即,设置img为“display:block;”。在本例中添加一组css代码:“#sub img {display:block;}”。

二、设置图片的垂直对齐方式
即设置图片的vertical-align属性为“top,text-top,bottom,text-bottom”也可以解决。如本例中增加一组css代码:“#sub img {vertical-align:top;}”。

三、设置父对象的文字大小为0px
即,在#sub中添加一行:“font-size:0;”可以解决问题。但这也引发了新的问题,在父对象中的文字都无法显示。就算文字部分被子对象括起来,设置子对象文字大小依然可以显示,但在CSS效验的时候会提示文字过小的错误。

四、改变父对象的属性
如果父对象的宽、高固定,图片大小随父对象而定,那么可以设置“overflow:hidden;”来解决。如本例中可以向#sub中添加以下代码:“width:88px;height:31px;overflow:hidden;”。

五、设置图片的浮动属性
即在本例中增加一行CSS代码:“#sub img {float:left;}”。如果要实现图文混排,这种方法是很好的选择。

六、取消图片标签和其父对象的最后一个结束标签之间的空格。
这个方法要强调下,在实际开发中该方法可能会出乱子,因为在写代码的时候为了让代码更体现语义和层次清晰,难免要通过IDE提供代码缩进显示,这必然会让标签和其他标签换行显示,比如说DW的“套用源格式”命令。

原因分析

图片文字等inline元素默认是和父级元素的baseline对齐的,而baseline又和父级底边有一定距离(这个距离和 font-size,font-family 相关,不一定是 5px),所以设置 vertical-align:top/bottom/text-top/text-bottom 都可以避免这种情况出现。而且不光li,其他的block元素中包含img也会有这个现象。

至于这里的HTML属性align=”center”(对于图片浏览器会处理成align=”middle”),就相当于vertical-align:middle; 所以道理也是一样的,只要vertical-align不取baseline,这个空隙就消失了。

相关信息

IE的显示有几种模式,在html文档的开始部分声明<!DOCTYPE ….> 如果声明为strict模式,ie以w3c的方式显示文档,而w3c的标准里面<img />默认是一个inline的标签,除非自己显式的声明为block。

那个空隙是ie针对盒模型默认的line-height和font-size。给img desplay:block;虽然能解决问题,但没从结构上来考虑.可谓治标不治本。 

返回顶部