您的位置:寻梦网首页编程乐园HTML园地HTML4.0参考文献

前页|后页| 目录|元素| 特性

容器

下面的章节描述了由HTML提供的用于在文档中包含一个 资?源的不同的结构.HTML允许作者包含物件, 图像,小运行程式, 文件图像映像.

包含一个物件:OBJECT 元素

<!ENTITY % OAlign "(texttop|middle|textmiddle|baseline|                
textbottom|left|center|right)">
<!ELEMENT
OBJECT - - (PARAM | %block)*>
<!ATTLIST OBJECT
?%attrs             --%coreattrs,%i18n,%events --
declare  (declare)?#IMPLIED?--declare but don't instantiate flag --
classid  %URL   #IMPLIED?--identifies an implementation --
codebase ?%URL   #IMPLIED?--some systems need an additional URL--
data   ?%URL   #IMPLIED?--reference to object's data --
type  %ContentType #IMPLIED?--Internet content type for data --
codetype%ContentType #IMPLIED?--Internet content type for code --
standby  CDATA  ?#IMPLIED?--message to show while loading --
align   %OAlign ?#IMPLIED?--positioning inside document --
height  ?%Length ?#IMPLIED?--suggested height --
width   %Length ?#IMPLIED?--suggested width --
border  ?%Length ?#IMPLIED?--suggested link border width --
hspace  ?%Length ?#IMPLIED?--suggested horizontal gutter --
vspace  ?%Length ?#IMPLIED?--suggested vertical gutter --
usemap  ?%URL   #IMPLIED?--reference to image map --
shapes  ?(shapes) #IMPLIED?--object has shaped hypertext links --
name   ?%URL   #IMPLIED?--submit as part of form --
tabindex
NUMBER   #IMPLIED?-- position in tabbing order -- ?>
开始标记:需要,结束标记:需要
特性定义
codebase=url
这个特定指定了用来决定相对URL的由classid 指定的基本路径(就是说当物件需要代码的时候,它给出 基URL).如果这个特性没有指定,它的缺省值是当前文档的 基URL.并不是所有的渲染结构需要这个特性.
classid=url
这个特性通过URL指定一个渲染结构的位置.
codetype=cdata
这个特性指定数据的互联网媒体形式(Internet Media Type,参 见[MIMETYPES]), 此形式是由classid 指定的渲染结构.当classid 被指定时这个特性是可选的并且是建议的,因为它允许用 户代理器来避免调入不提供媒体形式.如果没有显式地给 出这个特性的值,它则缺省为type 特性的值.
data=url
这个特性指定被渲染的数据的位置.
type=cdata
这个特性指定由data 说明的数据互联网媒体形式(Internet Media Type,参见[MIMETYPES]). 当data被指定时它是 可选的并且是建议的,因为它允许用户代理器避免调入不 提供的媒体形式.如果这个特性值没有被显式地给出,用 户代理器自行判断被渲染的数据形式.
declare
在显示的时候,这个布尔特性使只使用当前OBJECT 的声明.物件必须立即被后来的OBJECT 定义指明.
standby=cdata
这个特性指定一个用户代理器可以在调入物件的执行和 数据时渲染的消息.
align=texttop|middle|textmiddle|baseline|textbottom|left|center|right
不赞成.这个特性指定了物件的位置以及围绕的上 下议.它可能的值在特件对齐方式中 被定义.
在它处定义的特性
?
大多数用户代理器包含对常规数据形式如文本,GIF图像, 颜色,字体和可控图像元素的渲染信息.为了渲染它们天 生不提供的数据形式,用户代理器通常运行外部程式.OBJECT 元素允许作者来控制用户代理器在内客还是外部处理包 含的物件.
在大多数通常的情况下,一个插入的渲染结构指定了 信息的三种形式:
?
  • 渲染结构的贯彻
  • 被渲染的数据
  • 在渲染结构运行时需?要的额外值.
在一定的情况下,它无需指定所有的这些信息.例如,某些 渲染结构可能不需要数据(如包含小运行程式的小动画). 其它渲染结构并不需要运行时初始化.最后,某些渲染结 构并不需?要额外的执行信息,就是说用户代理器自行可能 已经知晓如何来渲染这些媒体形式(如GIF图像).

在HTML中,OBJECT 元素指定了渲染结构的位置以及渲染结构需的数据的位 置.这些特性通过OBJECT 元素的信息来指定.PARAM 元素指一个动行态值的集.我们在后面研究这个元素,在 物件初始化部分.

一个用户代理器必须根据下列的优先权法则来解译OBJECT 元素:

  1. 用户代理器必须首先尝试元素特性定义的结构.
  2. 不管什么原因如果用户代理器不能渲染这个结构(没有设 置,资源缺乏以及错误建构),但它必须尝试渲染元素内容.
在下面的例?程中,我们插入了一个虚构的 以Python (大蟒)语言写的渲染结构来显示一个电脑时钟.这 个可通行程?式无需额外的数据和运行态值.classid 特性指定小运行程式的位置:
   <OBJECT classid="http://www.miamachina.it/analogclock.py"> </OBJECT>
我们建议通过包含OBJECT 内容中的交互文字来完成这个声明.此例中用户代理器无 法渲染这个钟.
   <OBJECT classid="http://www.miamachina.it/analogclock.py"> An animated clock. </OBJECT>
注意用户代理器将在解译OBJECT 声明的同时渲染这个种.在物件第一次声明时渲染结构可 能会延迟(在下描述).
一个OBJECT元素定 义的重要影响是指明交互物件的渲染结构;每个绑定的OBJECT 声明指定一个交互渲染结构.如果一个用户代理器无法渲 染一个外部OBJECT, 它尝试渲染它的内容,可以是另一个OBJECT 元素等.
在下面的例程中,我们嵌入数个OBJECT 声明来举例说明渲染工作.用户代理器将尝?试渲?染它能够 的第一个OBJECT元 素,通过下面的次序:(1)一个用Python (大蟒)语言写的地球 小运行程式,(2)一个地球的MPEG动画,(3)一个地球的GIF图 像,(4)交互文本
<OBJECT title="The Earth as seen from space"      
classid="http://www.observer.mars/TheEarth.py"> <OBJECT data="TheEarth.mpeg" type="application/mpeg"> ?
<OBJECT src="TheEarth.gif">   The <STRONG>Earth</STRONG> as seen from space. ?
</OBJECT> </OBJECT> 
</OBJECT>
外部声明指定一个小运行程式不需要数据和初始值.第二 个声明指明一个MPEG电影并且由于没有定义一个渲染结 构,它依靠用户代理器来处理这个动画.我们还设置了type 特性因此用户代理器可以选择不从网路上取回"TheEarth.mpeg" 也不渲染它.第三个指定指定了?GIF文件的位置以及当所 的的结构失败时的交互文本.
内层与外部数据的比较.被渲 染的数据可以通过两种途径来指定:内层和和来自于外部 资源的.形成方法通常将引起更快速?的渲染,但在渲染大 量数据时却是不相宜的.

物件初始化:?A NAME="edef-PARAM">PARAM 元素

<!ELEMENTPARAM
- O EMPTY    -- named property value -->
<!ATTLIST PARAM
name   ?CDATA  ?#REQUIRED--property name --
value   CDATA  ?#IMPLIED?--property value --
valuetype(DATA|REF|OBJECT)DATA--How to interpret value --
type   ?CDATA  ?#IMPLIED?-- Internet media type -- ?>
开始标记:需要,结束标记:禁止
特性定义
?
name=cdata
这个特性定义了一个运行态参数的名称,假定被插入物件 所知.属性名称是否大小写敏感基于物件.
value=cdata
这个特性指定一个由name说明的运行态参数值.属 性值没有HTML涵义,它的涵义由提出的物件判断.
valuetype=data|ref|object
这个特性指出value特性的形式.可能的值为:
  • data:这个由value说明的值在解决了任何的 绑定字符和数字字符后将直接作为一个字符串传送给渲 染机制.这是这个特性的缺?省值并可能出现在元素的开始 标记中.
  • ref:这个由value指定的值是一个URL,它指明 了一个资?源的动行态值存放在哪里.这个URL必须不变 地传送给渲染结构,就是说没有决定过.
  • object:这个由声明的值是一个URL片断并由OBJECT 声明在同一篇?文档中设定.在此例?中,OBJECT 定义必须以它的id特性 标识.
type=cdata
valuetype只有 在特性被定义为"ref"时,?此特性指定了由value 特定指资源的互联网媒体形式(参见[MIMETYPES]). 这个特性因此指定用户代理器,数值的形式将在value 的URL定义中被?找到.
PARAM 元素指定一个可被运行时渲染结构的设置组.任意数量的 PARAM元素可以出现 于一个OBJECT声明 的开始部分.名称和值的语法假定能够被渲染结构理解. 名称和值通过标准输入传送给渲染机制.
我们回到我们的钟例程.这次,我们假定 渲染机制(钟)能够处理两个定义初始高度和宽度的运行 态参数.我们通过初始的两个PARAM 元素来设定一个40x40的长方形.
   <OBJECT classid="http://www.miamachina.it/analogclock.py"> 
<PARAM name="height" value="40" valuetype="data"> 
<PARAM name="width" value="40" valuetype="data"> This user agent cannot render Python apps. 
</OBJECT>
Since the default valuetype for a PARAMelement is "data",we could replace the above declarations with either:
? <PARAM name="height" value="40"> <PARAM name="width" value="40" >
or:
? <PARAM name="height" value="40" data> <PARAM name="width" value="40"?data>
(The latter form --the value "data"only for valuetype attribute --is possible due to the DTDdefinition of this attribute.)
In the following example,run-time data for the rendering mechanism's "Init_values"parameter is specified as an external resource (a GIFfile).The value of the valuetype attribute is thus set to "ref",and the valueis a URLdesignating the resource.
<OBJECT classid="http://www.gifstuff.com/gifappli"     standby="Loading Elvis..."> 
<PARAM name="Init_values"     value="./images/elvis.gif">     valuetype="ref"> </OBJECT>
Note that we have also set the standby attribute so that the user agent may render a message while the rendering mechanism loads.
Rendering mechanisms are located by URLs.As we discussed in the section on URLs,the first segment of an absolute URLspecifies the protocol used to transfer the data designated by the URL.For HTMLdocuments,this protocol is generally "http".Some rendering mechanisms might employ other protocols.For instance,when specifying a Java rendering mechanism,you may use URLs that begin with "java"and for ActiveXapplets,you may use "clsid".
In the following example,we insert a Java applet into an HTMLdocument.
<OBJECT classid="java:program.start"> </OBJECT>
By setting the codetype attribute,a user agent can decide whether to retrieve the Java application based on its ability to do so.
<OBJECT codetype="application/octet-stream"       classid="java:program.start"> </OBJECT>
Some rendering schemes require additional information to identify their implementation and must be told where to find that information.You may give path information to the rendering mechanism via the codebase attribute.
<OBJECT codetype="application/octet-stream"       classid="java:program.start">       
codebase="http://foooo.bar.com/java/myimplementation/" </OBJECT>
The following example specifies (with the classid attribute)an ActiveXrendering mechanism via a URLthat begins with the protocol information "clsid".The data attribute locates the data to render (another clock).
<OBJECT classid="clsid:663C8FEF-1EF9-11CF-A3DB-080036F12502"       data="http://www.acme.com/ole/clock.stm"> 
This application is not supported. </OBJECT>

Object declarations and instantiations

The preceding examples have only illustrated isolated object definitions. When a document is to contain more than one instance of the same object, it is possible to separate the declaration of the object from its instantiations. Doing so has several advantages:
  • Data may be retrieved from the network by the user agent one time (during the declaration)and reused for each instantiation.
  • It is possible to instantiate an object from a different location in the document,for example,by activating a link.
  • It is possible to specify objects as run-time data for other objects.
To declare an rendering mechanism so that it is not executed when read by the user agent,set the boolean declare attribute in the OBJECT element.At the same time,you must identify the declaration by setting the idattribute in the OBJECT element to a unique value.Later instantiations of the object will refer to this identifier.

Arendering mechanism defined with the declare attribute is instantiated every time the OBJECT is referenced thereafter.

In the following example,we declare an OBJECT and cause it so be instantiated by referring to it from a link.Thus,the object can be activated by clicking on some highlighted text,for example.
<OBJECT declare       id="earth_declaration"?       data="TheEarth.mpeg"?       type="application/mpeg"> 
<OBJECT src="TheEarth.gif">   The <STRONG>Earth</STRONG> as seen from space. ?</OBJECT> </OBJECT>
...later in the document...
Click to see a neat <A href="#earth_declaration"> animation of The Earth!</A>
The following example illustrates how to specify run-time values that are other objects.In this example,we send text (a poem,in fact)to a hypothetical mechanism for viewing poems.The rendering mechanism recognizes a run-time parameter named "font"(say,for rendering the poem text in a certain font).The value for this parameter is itself an object that inserts (but does not render)the font object.The relationship between the font object and the poem viewer object is achieved by (1)assigning the id"tribune"to the font object declaration and (2)referring to it from the PARAM element of the poem viewer object (with valuetype and value).
<OBJECT declare    id="tribune"    type="application/x-webfont"    data="tribune.gif"> </OBJECT>
...view the poem in KublaKhan.txt here...
<OBJECT classid="http://foo.bar.com/poem_viewer"?       data="KublaKhan.txt"> 
<PARAM name="font" valuetype="object" value="#tribune"> 
<P>You're missing a really cool poem viewer ... </OBJECT>
User agents that don't support the declare attribute must render the contents of the OBJECT declaration.

Object alignment

The alignattribute has been deprecated for this element in favor of style sheets.

The alignattribute specifies the position of an object with respect to its context.

The following values place an object in the heart of text:

  • texttop:means the top of the object should be vertically aligned with the top of the current text line.
  • middle:means the middle of the object should be vertically aligned with the current baseline.
  • textmiddle:means the middle of the object should be vertically aligned with the position midway between the baseline and the x-height for the current font.The x-height is defined as the top of a lower case x in Western writing systems.If the text font is an all-caps style,user agents should use the height of a capital X.For other writing systems, user agents should align the middle of the object with the middle of the text.
  • baseline:means the bottom of the object should be vertically aligned with the current baseline.
  • textbottom:means the bottom of the object should be vertically aligned with the bottom of the current text line.
Three other values,left,center,and right, cause an object to float.They are discussed in the section on floating objects.

Including an image: the?A NAME="edef-IMG">IMG element

<!-- To avoid problems with text-only UAs you need to provide a description with ALT, and avoid server-side image maps -->
<!ELEMENTIMG - O EMPTY  ?--?Embedded image -->
<!ATTLIST IMG
?%attrs;            ?--%coreattrs,%i18n,%events --
src    %URL   #REQUIRED--URLof image to embed --
alt    CDATA  ?#IMPLIED?--description for text only browsers --
align   %IAlign ?#IMPLIED?--vertical or horizontal alignment --
height  ?%Pixels ?#IMPLIED?--suggested height in pixels --
width   %Pixels ?#IMPLIED?--suggested width in pixels --
border  ?%Pixels ?#IMPLIED?--suggested link border width --
hspace  ?%Pixels ?#IMPLIED?--suggested horizontal gutter --
vspace  ?%Pixels ?#IMPLIED?--suggested vertical gutter --
usemap  ?%URL   #IMPLIED?--use client-side image map --
ismap    (ismap) ?#IMPLIED?-- use server-side image map -- ?>
Start tag:required,End tag:forbidden
Attribute definitions
?
src=url
This attribute specifies the location of the image resource.Examples of widely recognized image formats include GIF,JPEG,and PNG.
align=bottom|middle|top|left|right
Deprecated.This attribute specifies the position of the image with respect its surrounding context.Its values are explained in the section on image alignment.
The IMGelement embeds an image in the current document at the location of the element's definition. However,we recommend using the OBJECT element to insert an image into a document.

The heightand widthattributes of this element override the natural height and width of the source image.User agents should scale the image appropriately.

In an earlier example,we defined a link to a family photo.Here,we insert the photo directly into the current document
...preceding text...
I just returned from vacation! Here's a photo of my family at the lake: 
<IMG src="http://www.somecompany.com/People/Ian/vacation/family.png"   
alt="A photo of my family at the lake.">
This may be expressed with the OBJECT element as follows:
...preceding text...
I just returned from vacation! Here's a photo of my family at the lake: 
<OBJECT data="http://www.somecompany.com/People/Ian/vacation/family.png"    
type="image/png"> A photo of my family at the lake. </OBJECT>
The altattribute specifies alternate text when the image cannot be displayed (see below for information on how to specify alternate text).

Image alignment

The alignattribute has been deprecated for this element in favor of style sheets.

The alignattribute specifies the position of an object with respect to its context.

The following values place an object in the heart of text:

  • bottom:means that the bottom of the image should be vertically aligned with the current baseline.This is the default value.
  • middle:means that the center of the image should be vertically aligned with the current baseline.
  • top:means that the top of the image should be vertically aligned with the top of the current text line.
Two other values,leftand right,cause the image to float.They are discussed in the section on floating objects.
Differing interpretations of align. Existing user agents vary in their interpretation of the align attribute.Some only take into account what has occurred on the text line prior to the element,some take into account the text on both sides of the element.

Including an applet: the?A NAME="edef-APPLET">APPLET element

APPLETis deprecated.
<!ELEMENTAPPLET - - (PARAM | %inline)*>
<!ATTLIST APPLET
codebase ?%URL   #IMPLIED --optional base URLfor applet --
archive  CDATA  ?#IMPLIED --comma separated archive list --
code   ?CDATA  ?#IMPLIED --applet class file --
object  ?CDATA  ?#IMPLIED --serialized applet file --
alt    CDATA  ?#IMPLIED --description for text only browsers --
name   ?CDATA  ?#IMPLIED --allows applets to find each other --
width   %Pixels ?#REQUIRED?--suggested width in pixels --
height  ?%Pixels ?#REQUIRED?--suggested height in pixels --
align   %IAlign ?#IMPLIED --vertical or horizontal alignment --
hspace  ?%Pixels ?#IMPLIED --suggested horizontal gutter --
vspace  ?%Pixels ?#IMPLIED  -- suggested vertical gutter -- ?>
Start tag:required,End tag:required
Attribute definitions
?
codebase=url
This attribute specifies the base URLfor the applet.If this attribute is not specified,then the base URLfor the applet is the same as for the current document.
code=cdata
This attribute specifies the name of the resource that contains the applet's compiled applet subclass.The value must be a relative URLwith respect to the applet base URL.
name=cdata
This attribute specifies a name for the applet instance,which makes it possible for applets on the same page to find (and communicate with)each other.
width=length
This attribute specifies the initial width of the applet display area (not counting any windows or dialogs that the applet brings up).
height=length
This attribute specifies the initial height of the applet display area (not counting any windows or dialogs that the applet brings up).
align=bottom|middle|top|left|right
This attribute specifies the position of the object with respect to its surrounding context.Its values are explained in the section on image alignment.
archive=cdata
This attribute specifies the names of one or more comma-separated archives containing classes and other resources that will be "preloaded".The classes are loaded using an instance of an AppletClassLoader with the given codebase. Preloading resources can significantly improve the performance of applets.
object=cdata
This attribute gives the name of the resource that contains a serialized representation of an applet.The applet will be deserialized.The init() method will not be invoked;but its start()method will.Attributes valid when the original object was serialized are not restored.Any attributes passed to this applet instance will be available to the Applet.
Attributes defined elsewhere
This element,supported by all Java-enabled browsers,allows designers to embed a Java applet in an HTMLdocument.It has been deprecated in favor of the OBJECTelement.

The content of the APPLET acts as alternate information for user agents that don't support this element or are currently configured not to support applets.The content must be ignored otherwise.

The following sample Java applet:
<APPLET code="Bubbles.class" width="500px" height="500px"> Java applet that draws animated bubbles. </APPLET>
may be rewritten as follows with OBJECT:
<OBJECT codetype="application/octet-stream"    
classid="java:Bubbles.class"    
width="500" height="500px"> Java applet that draws animated bubbles. 
</OBJECT>
Initial values may be supplied to the applet via the PARAM element.
The following sample Java applet:
<APPLET code="AudioItem" width="15px" height="15px"> 
<PARAM name="snd" value="Hello.au|Welcome.au"> Java applet that plays a welcoming sound. 
</APPLET>
may be rewritten as follows with OBJECT:
<OBJECT codetype="application/octet-stream"    
classid="AudioItem"    
width="15" height="15px"> 
<PARAM name="snd" value="Hello.au|Welcome.au"> Java applet that plays a welcoming sound. 
</OBJECT>

Including HTMLin another HTMLdocument

Sometimes,rather than linking to another document,it is helpful to include the contents of an HTMLdocument in another HTMLdocument.We recommend using the OBJECTelement with the dataattribute for this purpose.
For instance,the following line will include the contents of piece_to_include.htmlat the location where the OBJECT definition occurs.
...text before...
<OBJECT data="file_to_include.html"> Warning: file_to_include.html could not be included. </OBJECT>
...text after...
The contents of OBJECT must only be rendered if the file specified by the data attribute cannot be loaded.
The behavior of a user agent in cases where a file includes itself is not defined.
Careful file inclusions.Be careful if you attempt to include a section of an HTMLdocument defined by an anchor. The entire document after the anchor definition will be included,and you might unwittingly include unwanted end tags (for elements such as BODY, HTML,etc.)in your document.
The IFRAMEelement may also be used to insert an inline frame containing text in an HTMLdocument.

Including an image map in an HTMLdocument

An image map allows users authors to specify active regions of an image or object and assign a specific action to each region (e.g.,retrieve a document,run a program,etc.)

An image map is created by associating an object with a specification of sensitive geometric areas on the object.

There are two types of image maps:

  • Server-side.When a user activates a region of a server-side image map with a mouse,the pixel coordinates of the click are sent to the server where the document is housed.The server interprets the coordinates and performs some action.
  • Client-side.When a user activates a region of a client-side image map with a mouse,the pixel coordinates are interpreted by the user agent. The user agent selects a link that was specified for the activated region and follows it.
Client-side image maps are preferred over server-side image maps.It is possible to implement client-side image maps with several elements.
Non-graphical representation of image maps. Non-graphical user agents may render client-side image maps as sets of textual links.The textual region may be activated by keyboard input.

Client-side image maps

The following attributes are defined for several elements (A and AREA).They allow authors to specify a set of geometrical regions and associate URLs with them.
Attribute definitions
?
shape=default|rect|circle|poly
This attribute specifies the shape of a region.Possible values:
  • default:Specifies the entire region.
  • rect:Define a rectangular region.
  • circle:Define a circular region.
  • poly:Define a polygonal region.
coords=length-list
This attribute specifies the position a shape on the screen.The number and order of values depends on the shape being defined.Possible combinations:
  • rect:left-x,top-y,right-x,bottom-y.
  • circle:center-x,center-y,radius.
  • poly:x1,y1,x2,y2,...,xN,yN.
Coordinates are relative to the top,left corner of the object.All values are lengths(they may be pixel values or percentage values).
The following attribute is defined for the OBJECT element.
Attribute definitions
?
shapes
When set,this boolean attribute specifies that the object being defined is an image map.The contents of the OBJECT element will specify the active regions.
In the following example,we create a client-side image map for the OBJECT element by associating URLs with regions specified by a series of A elements.
<OBJECT data="navbar.gif" shapes> 
<A href="guide.html" shape="rect" coords="0,0,118,28">Access Guide
</a> | <A href="shortcut.html" shape="rect" coords="118,0,184,28">Go
</A> | <A href="search.html" shape="circ" coords="184,200,60">Search
</A> | <A href="top10.html" shape="poly" coords="276,0,373,28,50,50,276,0">Top Ten
</A> </OBJECT>
If the OBJECTelement includes a shapesattribute, user agents must parse the contents of the element to look for anchors.

If two or more defined regions overlap,the region defined first takes precedence (i.e.,responds to user input).

Client-side image maps with?A NAME="edef-MAP">MAP and?A NAME="edef-AREA">AREA

The MAPand AREA elements provide an alternate mechanism for client side image maps.
<!ELEMENTMAP - - (AREA)*>
<!ATTLIST MAP
%coreattrs;          --id,
class,style,title--
name   ?CDATA   #IMPLIED ?>
Start tag:required,End tag:required
<!ELEMENTAREA - O EMPTY>
<!ATTLIST AREA
shape   %Shape ?rect  ?--controls interpretation of coords --
coords  ?%Coords #IMPLIED?--comma separated list of values --
href   ?%URL  ?#IMPLIED?--this region acts as hypertext link --
target  ?CDATA  #IMPLIED?--where to render linked resource --?
nohref  ?(nohref)?#IMPLIED?--this region has no action --
alt    CDATA  #REQUIRED--description for text only browsers --
tabindex ?NUMBER ?#IMPLIED?-- position in tabbing order -- ?>
Start tag:required,End tag:forbidden
Attribute definitions
?
nohref
When set,this boolean attribute specifies that a region has no associated link.
Several elements (OBJECT, IMG,and INPUT) allow the following attribute to specify an associated client-side image map.
Attribute definitions
?
usemap=url
This attribute specifies the location of a map defined by MAP and AREA.
We can rewrite the previous example in terms of MAP and AREA.We still create an OBJECTthat will insert an image.We associate the object and the image map by setting the usemap attribute on the OBJECT and the nameattribute of the MAP element to the same value.
<OBJECT data="navbar1.gif" usemap="#map1"></OBJECT> <MAP name="map1"> 
<AREA href="guide.html"?     alt="Access Guide"?     ?shape="rect"?     
?coords="0,0,118,28"> <AREA href="search.html"?     ?alt="Search"?     
?shape="rect"?     ?coords="184,0,276,28"> <AREA href="shortcut.html"?     
?alt="Go"?     ?shape=circ?     ?coords="184,200,60"> <AREA href="top10.html"?     
alt="Top Ten"?     ?shape="poly"?     
coords="276,0,373,28,50,50,276,0"> </MAP>
The altattribute specifies alternate text for cases when the image map may not be displayed (see below for information on how to specify alternate text).
Note:MAP is not backwards compatible with HTML2.0user agents.

Server-side image maps

Server-side image maps may be interesting in cases where the image map is too complicated for a client-side image map.

It is only possible to define a server-side image map with the IMG element. To do so, set the boolean attributeismap in the IMGdefinition.The associated map of regions must be specified with the usemap attribute.

When the user activates a region of the image map,the screen coordinates are sent directly to the server where the document resides.Screen coordinates are expressed as screen pixel values.For normative information about the definition of a pixel and how to scale it,please consult [CSS1].

The location clicked is passed to the server as follows.The user agent derives a new URLfrom the URLspecified by the href attribute by appending `?'followed by the x and y coordinates,separated by a comma.The link is then followed using the new URL.For instance, in the previous example,if the user clicks at at the location x=10,y=27 then the derived URLis "/cgibin/navbar.map?10,27".

In the following example,the first active region defines a client-side link.The second defines a server-side link,but doesn't assign a specific shape to it (this is accomplished with the "default" value of the shapeattribute). Since the regions of the two links overlap,the first takes precedence of the later definition.Thus,a click anywhere but in the rectangle will cause the click's coordinates to be sent to the server.
<OBJECT data="game.gif" shapes> ?<A href="guide.html" shape="rect" coords="0,0,118,28">    
Rules of the Game</A> 
<A href="http://www.acme.com/cgi-bin/competition"    ?ismap?    ?shape="default">    
Guess the location</a> 
</OBJECT>

Visual presentation of images,objects,and applets

All IMGand OBJECT attributes that concern visual alignment or presentation have been deprecated in favor of style sheets.

The heightand widthattributes give user agents an idea of the size of an image or object so that they may reserve space for it and continue rendering the document while waiting for the image data. Both attributes take values of type length. User agents may scale objects and images to match these values if appropriate.

The vspaceand hspaceattributes specify the amount of white space to be inserted to the left and right (hspace)and above and below (vspace)an image or object.The default value for this attribute is not specified,but is generally a small,non-zero length.Both attributes take values of type length.

Images or objects that are the content of an A element are sometimes surrounded by a border.The border attribute specifies the width of this border.

How to specify alternate text

Attribute definitions
?
alt=cdata
For user agents that cannot display images,forms,or applets,this attribute specifies alternate text.The language of the alternate text is specified by the langattribute.
Several non-textual elements (IMG, AREA,APPLET, and INPUT)allow authors to specify alternate text to serve as content when the element cannot be rendered normally.Specifying alternate text assists users without graphic display terminals,users whose browsers don't support forms,visually impaired users,those who use speech synthesizers,those who have configured their graphical user agents not to display images,etc.

While alternate text may be very helpful,it must be handled with care. Authors should observe the following guidelines:

  • Do not specify meaningless alternate text when including images intended to formata page.In this case,the alternate text should be the empty string ("").In any case,authors should not use images to format pages;style sheets should be used instead.
  • Do not specify meaningless alternate text (e.g.,"dummy text").Not only will this frustrate users,it will slow down user agents that must convert text to speech or braille output.
The altattribute is mandatory for the AREAelement,but optional for IMG,APPLET, and INPUT.

When an author does not set the alt attribute for the IMGor APPLETelements,user agents should supply the alternate text,calculated in the following order:

  1. If the titlehas been specified, its value should be used as alternate text.
  2. Otherwise,if HTTPheaders provide title information when the included object is retrieved,this information should be used as alternate text.
  3. Otherwise,if the included object contains text fields (e.g.,GIFimages contain some text fields),information extracted from the text fields should be used as alternate text.Since user agents may have to retrieve an entire object first in order to extract textual information,user agents may adopt more economical approaches (e.g.,content negotiation).
  4. Otherwise,in the absence of other information,user agents should use the file name (minus the extension)as alternate text.
When an author does not set the alt attribute for the INPUT element,user agents should supply the alternate text,calculated in the following order:
  1. If the titlehas been specified, its value should be used as alternate text.
  2. Otherwise,if the name has been specified,its value should be used as alternate text.
  3. Otherwise (submit and reset buttons),the value of the type attribute should be used as alternate text.

前页|后页| 目录|元素| 特性